37,741
社区成员
发帖
与我相关
我的任务
分享>>> import re
>>> s = 'a123abvpd123d“p”f12ab123sabd123f1123abc'
>>> res = r'(123((?:(?!123|“p”)[\s\S])*?)ab)'
>>> m = re.findall(res,s)
>>> result = [x[0] for x in m]
>>> print result
['123ab', '123sab', '123ab']
>>> >>> s = 'abcd123d123ad1v123a123'
>>> print re.findall(r'a.*?123',s)
['abcd123', 'ad1v123', 'a123']
>>> print re.findall(r'a.+?123',s)
['abcd123', 'ad1v123']
>>> Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> s = "abcd123d123ad1v123"
>>> patt = re.compile(r'(a.+123)')
>>> print patt.findall(s)
['abcd123d123ad1v123']
>>> patt = re.compile(r'(a.+?123)')
>>> print patt.findall(s)
['abcd123', 'ad1v123']
>>>
>>> import re
>>> res = r'a.*?123'
>>> s = 'abcd123d123ad1v123'
>>> print re.findall(res,s)
['abcd123', 'ad1v123']
>>>