全球主机交流论坛

标题: [感谢帮忙] 万能的LOC求一个正则表达式 [打印本页]

作者: 师太    时间: 2021-7-13 19:19
标题: [感谢帮忙] 万能的LOC求一个正则表达式
本帖最后由 师太 于 2021-7-13 20:03 编辑

感谢各位大佬的帮忙,目前使用9楼@loveqianool大佬的方式可以匹配出来想要的结果,也多谢其余几个大佬的帮忙回复,祝楼下大佬多娶几个老婆


正则表达式为:
  1. /=(\w+);/m
复制代码





---------------------------------------------------------------------------


各位大佬,求一个正则表达式,匹配 header中的set-cookie



例如:

set-cookie: guid=467937bd8f2e13459efce65feac54bf04138ef40f719716faab1ff112239402d; EXPIRES=Wed, 13-Jul-2022 11:15:03 GMT; PATH=/;
set-cookie: lang=chs; PATH=/;
set-cookie: lsid=73abwvttegj30no7qpyq7zspwbdqkwlr0v3wrwp5d98ewxmn; PATH=/;



怎么样匹配出红色的值,用php开发的项目,目前我用的
  1. /=(.*);/iU
复制代码
  可以匹配到所有的=号后边的内容,有点杂,只想要第一项标红色的内容



作者: optimism    时间: 2021-7-13 19:20
你是不是忘写报价了
作者: ApkB    时间: 2021-7-13 19:27
键值对用正则表达式匹配感觉不是很合适
作者: G.K.D    时间: 2021-7-13 19:31
我对 PHP 的正则表达式扩展修饰符不太熟,这个 /U 逆转贪婪搞得我有点懵~


「HostLoc 最强油猴脚本」
自动访问空间 (+22 积分)、屏蔽用户、屏蔽关键词、我这样滴小尾巴~
自动无缝翻页、预览帖子快速回复带签名、屏蔽阅读权限 255 帖子等等...

https://github.com/XIU2/UserScript(⭐1.6k

作者: x2009again    时间: 2021-7-13 19:36
本帖最后由 x2009again 于 2021-7-13 19:39 编辑

php不会,给你整了个js的
/=([^\/\,]+)\;/gm
感觉把gm换成iU就可以了
作者: G.K.D    时间: 2021-7-13 19:42
x2009again 发表于 2021-7-13 19:36
php不会,给你整了个js的
/=([^\/\,]+)\;/gm
感觉把gm换成iU就可以了

/g /m 是全局匹配、多行匹配
/i /U 是不区分大小写、逆转贪婪。。。


「HostLoc 最强油猴脚本」
自动访问空间 (+22 积分)、屏蔽用户、屏蔽关键词、我这样滴小尾巴~
自动无缝翻页、预览帖子快速回复带签名、屏蔽阅读权限 255 帖子等等...

https://github.com/XIU2/UserScript(⭐1.6k

作者: 师太    时间: 2021-7-13 19:44
x2009again 发表于 2021-7-13 19:36
php不会,给你整了个js的
/=([^\/\,]+)\;/gm
感觉把gm换成iU就可以了

感谢老哥  貌似不行
作者: G.K.D    时间: 2021-7-13 19:46
本帖最后由 G.K.D 于 2021-7-13 20:03 编辑

我在楼上的基础上,改了改应该可以了:
  1. /(?<=\=)([^\/\,]+)(?=\;)/
复制代码

源文本:
  1. set-cookie: guid=467937bd8f2e13459efce65feac54bf04138ef40f719716faab1ff112239402d; EXPIRES=Wed, 13-Jul-2022 11:15:03 GMT; PATH=/;
  2. set-cookie: lang=chs; PATH=/;
  3. set-cookie: lsid=73abwvttegj30no7qpyq7zspwbdqkwlr0v3wrwp5d98ewxmn; PATH=/;
复制代码

正则表达式匹配结果:
  1. 467937bd8f2e13459efce65feac54bf04138ef40f719716faab1ff112239402d
  2. chs
  3. 73abwvttegj30no7qpyq7zspwbdqkwlr0v3wrwp5d98ewxmn
复制代码



「HostLoc 最强油猴脚本」
自动访问空间 (+22 积分)、屏蔽用户、屏蔽关键词、我这样滴小尾巴~
自动无缝翻页、预览帖子快速回复带签名、屏蔽阅读权限 255 帖子等等...

https://github.com/XIU2/UserScript(⭐1.6k

作者: loveqianool    时间: 2021-7-13 19:49
  1. /=(\w{48,64});/m
复制代码

作者: 师太    时间: 2021-7-13 19:55
G.K.D 发表于 2021-7-13 19:46
我在楼上的基础上,改了改应该可以了:

源文本:

感谢楼主帮忙,可是PHP好像用不了,报错Unknown modifier 'g'
作者: zxxx    时间: 2021-7-13 19:57
  1. $pattern = "/(?:guid|lsid)=(.*?);/i";
复制代码

作者: 师太    时间: 2021-7-13 19:58
loveqianool 发表于 2021-7-13 19:49


大佬你这个可以唉   我改了下  /=(\w{1,100});/m    这个1和100是不是区间,能改成全部吗
作者: G.K.D    时间: 2021-7-13 20:01
师太 发表于 2021-7-13 19:55
感谢楼主帮忙,可是PHP好像用不了,报错Unknown modifier 'g'

什么情况,PHP 正则表达式没有全局模式 /g 么?
我查了下好像有呀,你去掉 g 试试~


「HostLoc 最强油猴脚本」
自动访问空间 (+22 积分)、屏蔽用户、屏蔽关键词、我这样滴小尾巴~
自动无缝翻页、预览帖子快速回复带签名、屏蔽阅读权限 255 帖子等等...

https://github.com/XIU2/UserScript(⭐1.6k

作者: loveqianool    时间: 2021-7-13 20:01
师太 发表于 2021-7-13 19:58
大佬你这个可以唉   我改了下  /=(\w{1,100});/m    这个1和100是不是区间,能改成全部吗 ...

+ 或者 *
作者: 师太    时间: 2021-7-13 20:02
loveqianool 发表于 2021-7-13 20:01
+ 或者 *

可以了,感谢大佬,祝大佬多娶几个老婆
作者: G.K.D    时间: 2021-7-13 20:05
本帖最后由 G.K.D 于 2021-7-16 12:57 编辑
师太 发表于 2021-7-13 19:55
感谢楼主帮忙,可是PHP好像用不了,报错Unknown modifier 'g'


又查了下,PHP 的正则表达式默认已经应用全局模式(/g)了,不需要手动加上了。
所以我给的代码,你把 /g 改成 / 就行了,我上面的回答也更新了~
作者: 师太    时间: 2021-7-13 20:05
G.K.D 发表于 2021-7-13 20:05
又查了下,PHP 的正则表达式默认已经应用全局模式(/g)了,不需要手动加上了。
所以我给的代码,你把 /g ...

多谢大佬帮忙,给大佬添麻烦了




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4