读书人

正则匹配特定字符串补集解决方案

发布时间: 2013-01-26 13:47:03 作者: rapoo

正则匹配特定字符串补集
字符串匹配取否是老问题,我也没找到啥好办法
我的正则表达式:
re.compile(r"(?!Profile Pictures)</strong></a><div class=\"photoTextSubtitle fsm fwn fcg\">(\d+) photos</div>")

大家能看出来我尝试匹配photos的数目,但不计算包含"Profile Pictures"在内的匹配;
我打算用前向否定的办法匹配,但是上面这个式子还是包含了"Profile Pictures",修改了几次也不成功。感觉上还是觉得应该用前向否定。请给点意见,谢谢。最好不要一个字一个字划开单独匹配老长那种。
[解决办法]
(?<!...) 前向否定

[解决办法]

引用:
引用:

(?<!...) 前向否定

追问一下:
如果多个后向否定的话如何实现呢?比如我想否定两个字符串"Profile Pictures","Cover Photos":
(?<!(Profile Pictures
[解决办法]
Cover Photos))</strong></a>....
解释器会报错后向否定要求固定长度模板:
raise error, v # i……


python的re库实现的不完全,可以这样取代:

(?<!(Profile Pictures)(?<!Cover Photos)</strong></a>....

读书人网 >perl python

热点推荐