Chinaunix
标题:
请教一个正则表达式匹配问题
[打印本页]
作者:
xinglu1983
时间:
2015-01-06 11:14
标题:
请教一个正则表达式匹配问题
写个采集工具,采集网页,发现网页里有些混淆用的字符,想用正则过滤掉,无奈正则太差,不知道如何匹配,特来请教下各位大虾~
内容类似于:
正文正文正文
* WwW.WxWX.cOM
正文正文
其中标红处为混淆字符。
规律大概是 一个全角或半角的特殊字符*+零个或多个空格+全角或半角或大小写的
www.wxwx.com
,其中
www.wxwx.com
中间可能混入
类似的混淆字符有:
* WwW.WxWX.cOM
+ Www.wXwX.Com
/ www.WxwX.COM
(WWW.wxWX. COM
* wWw.WxWx.com
求助~~~
作者:
yinyuemi
时间:
2015-01-06 11:55
回复
1#
xinglu1983
试试吧,
echo '正文正文正文* WwW.WxWX.cOM正文正文' |grep --color -Pi '*.*?(M|m)'
正文正文正文* WwW.WxWX.cOM正文正文
复制代码
作者:
Looiml
时间:
2015-01-06 15:03
本帖最后由 Looiml 于 2015-01-06 15:05 编辑
回复
1#
xinglu1983
用PCRE还好点儿,用BRE或ERE就略显蛋疼了,不过看起来还是晕晕的,这里用只是用grep -oP作一举例,建议用支持PCRE的文本处理工具来处理。
$>cat a
正文正文正文* WwW.WxWX.cOM正文正文
正文正文正文* WwW.WxWX.cOM 正文正文
正文正文正文+ Www.wXwX.Com正文正文
正文正文正文/ www.W xwX.COM正文正文
正文正文正文(WWW.wxWX. COM正文正文
正文正文正文* wWw.WxWx.com正文正文
正文正文正文* WwW.Wx WX.cO M正文正文
$>grep -oP '(*UTF8).(( )*)([wWWw](?1)){3}\.(?1)((?3)([xXxX](?1))){2}\.(?1)[cCCc](?1)[oOOo](?1)[mMMm](?1)' a
* WwW.WxWX.cOM
* WwW.WxWX.cOM
+ Www.wXwX.Com
/ www.W xwX.COM
(WWW.wxWX. COM
* wWw.WxWx.com
* WwW.Wx WX.cO M
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2