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

试试吧,
  1. echo '正文正文正文* WwW.WxWX.cOM正文正文' |grep --color -Pi '*.*?(M|m)'
  2. 正文正文正文* WwW.WxWX.cOM正文正文
复制代码

作者: Looiml    时间: 2015-01-06 15:03
本帖最后由 Looiml 于 2015-01-06 15:05 编辑

回复 1# xinglu1983
用PCRE还好点儿,用BRE或ERE就略显蛋疼了,不过看起来还是晕晕的,这里用只是用grep -oP作一举例,建议用支持PCRE的文本处理工具来处理。

  1. $>cat a
  2. 正文正文正文* WwW.WxWX.cOM正文正文
  3. 正文正文正文* WwW.WxWX.cOM 正文正文
  4. 正文正文正文+ Www.wXwX.Com正文正文
  5. 正文正文正文/ www.W xwX.COM正文正文
  6. 正文正文正文(WWW.wxWX.  COM正文正文
  7. 正文正文正文* wWw.WxWx.com正文正文
  8. 正文正文正文* WwW.Wx WX.cO M正文正文

  9. $>grep -oP '(*UTF8).(( )*)([wWWw](?1)){3}\.(?1)((?3)([xXxX](?1))){2}\.(?1)[cCCc](?1)[oOOo](?1)[mMMm](?1)' a
  10. * WwW.WxWX.cOM
  11. * WwW.WxWX.cOM 
  12. + Www.wXwX.Com
  13. / www.W xwX.COM
  14. (WWW.wxWX.  COM
  15. * wWw.WxWx.com
  16. * WwW.Wx WX.cO M
复制代码





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2