网上有很多的正则表达式测试工具和生成工具,可以好好利用
练习1
找出”abcd123d123aad1v123“中以a开头,以123字符串结尾,但是中间不出现123这个字符串的字符串。结果应为:abcd123和ad1v123。
import re
cr = re.compile(r
'a.*?123'
)s = ‘abcd123d123ad1v123’
print cr.findall(s)
练习2
找出"a123abvpd123d“p”f12ab123sabd123f1123abc"中哦功能以123字符串开头,以ab字符串结尾,但是中间不出现123和“p”这两个字符串的子字符串。
结果应为:123ab和123sab和123ab。
import re
cr = re.compile(r
'123[^p|123]*?ab'
)
s = "a123abvpd123d“p”f12ab123sabd123f1123abc"
print cr.findall(s)
参考文献
【1】http://www.oschina.net/question/209440_54325