python中正则表达式 ?(问号)的详解及用法

第一种用法:?(问号)可以实现可选匹配

 

图一content中有数字可匹配

图二content中无数字也可匹配

                                                                           图一

python中正则表达式 ?(问号)的详解及用法_第1张图片

                                                                 

                                                                                           图二

python中正则表达式 ?(问号)的详解及用法_第2张图片


第一种用法:?(问号)可以实现非贪婪匹配

import re
content='Hello 1234567 World This is a Regex Demo'
result=re.match('^Hel.*?(\d+).*Demo$',content)
print(result.group(0))
print(result.group(1))

上述代码中问号是对.*起作用的,使它进行非贪婪匹配

贪婪匹配的话,print(result.group(1))输出的结果是7,它只留了一个7给(\d+)

非贪婪匹配的话,print(result.group(1))输出的结果是1234567,它匹配完空格就不再匹配了

 

 

你可能感兴趣的:(python)