Python,正则表达式

例如正则表达式a(?:b),匹配后没有包含'b'的分组

>>> string
'ab ac'
>>> import re
>>> string = 'ab ac'
>>> re.search(r'a(?:b)', string).group(0)
'ab'
>>> re.search(r'a(?:b)', string).group(1)    # group(1)里没有包含'b'这个分组
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    re.search(r'a(?:b)', string).group(1)
IndexError: no such group
>>> 

例如正则表达式:a(b),匹配后有包含'b'的分组

>>> import re
>>> string = 'ab ac'
>>> re.search(r'a(b)', string).group(0)
'ab'
>>> re.search(r'a(b)', string).group(1) # group(1)里有包含'b'这个分组
'b'
>>> 

参考

https://stackoverflow.com/a/10804846/5955399
https://docs.python.org/3/library/re.html#regular-expression-syntax

原文地址:https://www.cnblogs.com/allen2333/p/11382337.html