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

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

图一content中有数字可匹配

图二content中无数字也可匹配

                                                                           图一

                                                                 

                                                                                           图二


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

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,它匹配完空格就不再匹配了

发布了70 篇原创文章 · 获赞 25 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/a66666_/article/details/103413085