精品技术论坛

精品技术论坛 (https://bbs.et8.net/bbs/index.php)
-   『软件使用』 (https://bbs.et8.net/bbs/forumdisplay.php?f=17)
-   -   【求助】正则解析参数 (https://bbs.et8.net/bbs/showthread.php?t=1379409)

马小甲 2020-01-26 20:28:54

【求助】正则解析参数
 
开始发帖用的-o举例,可能有点出入,换成-H吧~

代码:

curl baidu.com -H "ABC" -H ABC -H 'ABC' -H 'A\"BC' -H "ABC" -H 'AB\ C' -H "A\'BC"

有没有一条正则能把-H和后面的参数找出来?是按照-H一组找出来
比如上面的能找出7组

-H "ABC"
-H ABC
-H 'ABC'
-H 'A\"BC'
-H "ABC"
-H 'AB\ C'
-H "A\'BC"

shiyu46 2020-01-26 22:12:06

代码:

-o [^ ]+
这样可以么,不过有些软件不一定通用

马小甲 2020-01-26 22:50:32

引用:

作者: shiyu46 (文章 17512421)
代码:

-o [^ ]+
这样可以么,不过有些软件不一定通用

@shiyu46
好像不太行,如果是难点在于-o后面可能有空格

比如-o "123\ 3.html"

发自 iPhone X 使用 CCF客户端

kingdragon 2020-01-27 03:05:56

-o (".+"|'.+'|[^\s]+)
结果如下:
https://regex101.com/r/Qs5gzh/1

马小甲 2020-01-27 09:04:30

引用:

作者: kingdragon (文章 17512551)
-o (".+"|'.+'|[^\s]+)
结果如下:
https://regex101.com/r/Qs5gzh/1

,,,13

这个确实可以,不过我又发现了特殊情况,比如中间有空格

代码:

curl -o "123\ 456.html" baidu.com

shiyu46 2020-01-27 10:06:07

代码:

-o .*html"*
如果都是html那偷个鸡就行了

马小甲 2020-01-27 10:11:50

引用:

作者: shiyu46 (文章 17512676)
代码:

-o .*html"*
如果都是html那偷个鸡就行了

,,,69

并不是都是html,文件类型不确定

shiyu46 2020-01-27 10:26:10

引用:

作者: 马小甲 (文章 17512682)
,,,69

并不是都是html,文件类型不确定

代码:

-o .*(html|exe|pdf)"*
curl -o "123\ 456.html" baidu.com
curl baidu.com -o 123.html
curl -o 123.pdf baidu.com
curl baidu.com -o 123.html
curl -o 123.exe baidu.com




如果类型不是太多,直接加上就行了,费那那脑细胞做啥,,,4

马小甲 2020-01-27 10:30:02

感谢各位,由于之前的-o的举例不太恰当,现在换成-H了

shiyu46 2020-01-27 10:53:43

代码:

-H [^ ]*(\\ )+[^ ]*|-H [^ ]*
如果情况不继续复杂化的应该可以,不过话说了,很多东西还是要弄得时候就要稍微规范一点,,,113

kingdragon 2020-01-27 12:10:52

引用:

作者: 马小甲 (文章 17512620)
,,,13

这个确实可以,不过我又发现了特殊情况,比如中间有空格

代码:

curl -o "123\ 456.html" baidu.com

你说的这个特殊情况我这个表达式也能匹配啊,你.+表示任何字符,包含空格...
结果如下:
https://regex101.com/r/Qs5gzh/2

kingdragon 2020-01-27 13:01:11

-H (".+?"|'.+?'|[^\s]+)
对于你的新case,启用非贪婪模式即可
结果如下:
https://regex101.com/r/Qs5gzh/3

马小甲 2020-01-27 15:41:24

引用:

作者: shiyu46 (文章 17512731)
代码:

-H [^ ]*(\\ )+[^ ]*|-H [^ ]*
如果情况不继续复杂化的应该可以,不过话说了,很多东西还是要弄得时候就要稍微规范一点,,,113

,,,69开始确实没考虑周全

引用:

作者: kingdragon (文章 17512853)
-H (".+?"|'.+?'|[^\s]+)
对于你的新case,启用非贪婪模式即可
结果如下:
https://regex101.com/r/Qs5gzh/3

多谢两位,最后又试了一些别的case,最终@kingdragon 的匹配度完美一些,,,50


所有时间均为北京时间, 现在的时间是 20:21:11.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号