. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#1 旧 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"

此帖于 2020-01-27 10:29:06 被 马小甲 编辑. . 原因: 换成-H求助


只见旧人去,不见新人来才是所有论坛倒闭的真实原因~
回复时引用此帖
最佳解答为:kingdragon
-H (".+?"|'.+?'|[^\s]+)
对于你的新case,启用非贪婪模式即可
结果如下:
https://regex101.com/r/Qs5gzh/3
shiyu46
 
shiyu46 的头像
高级会员
 
资 料:
注册日期: Sep 2001
帖子: 556 声望值: 3
精华: 2,解答: 5
#2 旧 2020-01-26, 22:12:06 默认
shiyu46 当前离线  

代码:
-o [^ ]+
这样可以么,不过有些软件不一定通用
回复时引用此帖
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#3 旧 2020-01-26, 22:50:32 默认
马小甲 当前离线  

引用:
作者: shiyu46 查看帖子
代码:
-o [^ ]+
这样可以么,不过有些软件不一定通用
@shiyu46
好像不太行,如果是难点在于-o后面可能有空格

比如-o "123\ 3.html"

发自 iPhone X 使用 CCF客户端
回复时引用此帖
kingdragon
 
kingdragon 的头像
超级会员
 
资 料:
注册日期: Jul 2001
帖子: 1,287 声望值: 3
精华: 0,解答: 11
#4 旧 2020-01-27, 03:05:56 默认
kingdragon 当前离线  

-o (".+"|'.+'|[^\s]+)
结果如下:
https://regex101.com/r/Qs5gzh/1
回复时引用此帖
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#5 旧 2020-01-27, 09:04:30 默认
马小甲 当前离线  

引用:
作者: kingdragon 查看帖子
-o (".+"|'.+'|[^\s]+)
结果如下:
https://regex101.com/r/Qs5gzh/1


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

代码:
curl -o "123\ 456.html" baidu.com
回复时引用此帖
shiyu46
 
shiyu46 的头像
高级会员
 
资 料:
注册日期: Sep 2001
帖子: 556 声望值: 3
精华: 2,解答: 5
#6 旧 2020-01-27, 10:06:07 默认
shiyu46 当前离线  

代码:
-o .*html"*
如果都是html那偷个鸡就行了
回复时引用此帖
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#7 旧 2020-01-27, 10:11:50 默认
马小甲 当前离线  

引用:
作者: shiyu46 查看帖子
代码:
-o .*html"*
如果都是html那偷个鸡就行了


并不是都是html,文件类型不确定
回复时引用此帖
shiyu46
 
shiyu46 的头像
高级会员
 
资 料:
注册日期: Sep 2001
帖子: 556 声望值: 3
精华: 2,解答: 5
#8 旧 2020-01-27, 10:26:10 默认
shiyu46 当前离线  

引用:
作者: 马小甲 查看帖子


并不是都是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




如果类型不是太多,直接加上就行了,费那那脑细胞做啥
回复时引用此帖
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#9 旧 2020-01-27, 10:30:02 默认
马小甲 当前离线  

感谢各位,由于之前的-o的举例不太恰当,现在换成-H了
回复时引用此帖
shiyu46
 
shiyu46 的头像
高级会员
 
资 料:
注册日期: Sep 2001
帖子: 556 声望值: 3
精华: 2,解答: 5
#10 旧 2020-01-27, 10:53:43 默认
shiyu46 当前离线  

代码:
-H [^ ]*(\\ )+[^ ]*|-H [^ ]*
如果情况不继续复杂化的应该可以,不过话说了,很多东西还是要弄得时候就要稍微规范一点
回复时引用此帖
kingdragon
 
kingdragon 的头像
超级会员
 
资 料:
注册日期: Jul 2001
帖子: 1,287 声望值: 3
精华: 0,解答: 11
#11 旧 2020-01-27, 12:10:52 默认
kingdragon 当前离线  

引用:
作者: 马小甲 查看帖子


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

代码:
curl -o "123\ 456.html" baidu.com
你说的这个特殊情况我这个表达式也能匹配啊,你.+表示任何字符,包含空格...
结果如下:
https://regex101.com/r/Qs5gzh/2
回复时引用此帖
kingdragon
 
kingdragon 的头像
超级会员
 
资 料:
注册日期: Jul 2001
帖子: 1,287 声望值: 3
精华: 0,解答: 11
#12 旧 2020-01-27, 13:01:11 默认
kingdragon 当前离线  

-H (".+?"|'.+?'|[^\s]+)
对于你的新case,启用非贪婪模式即可
结果如下:
https://regex101.com/r/Qs5gzh/3
回复时引用此帖
马小甲
 
马小甲 的头像
支柱会员
 
资 料:
注册日期: Jul 2010
帖子: 5,249 声望值: 4
精华: 2,解答: 10
#13 旧 2020-01-27, 15:41:24 默认
马小甲 当前离线  

引用:
作者: shiyu46 查看帖子
代码:
-H [^ ]*(\\ )+[^ ]*|-H [^ ]*
如果情况不继续复杂化的应该可以,不过话说了,很多东西还是要弄得时候就要稍微规范一点
开始确实没考虑周全

引用:
作者: kingdragon 查看帖子
-H (".+?"|'.+?'|[^\s]+)
对于你的新case,启用非贪婪模式即可
结果如下:
https://regex101.com/r/Qs5gzh/3
多谢两位,最后又试了一些别的case,最终@kingdragon 的匹配度完美一些
回复时引用此帖
发表新主题 回复

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 19:18:58.

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

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