问号放到前面和后面有什么区别呢
来源:3-2 正则表达式-1
沧海红心
2022-04-26
问号放到前面和后面有什么区别呢?
问号放到后面
代码
import re
str = '13243543423adscvsdftooooooooppprrrrrrr123456453423'
reg_str = '.*(t.*p?).*'
match_result = re.match(reg_str,str)
if match_result:
print(match_result.group(1))
结果
tooooooooppprrrrrrr123456453423
问号放到前面
代码
import re
str = '13243543423adscvsdftooooooooppprrrrrrr123456453423'
reg_str = '.*(t.*?p).*'
match_result = re.match(reg_str,str)
if match_result:
print(match_result.group(1))
结果
toooooooop
写回答
1回答
-
bobby
2022-04-28
?表示贪婪匹配。 放在p前面就代表遇到第一个p就满足要求了,p前面不放问号就会匹配到最后一个, 可以这样简单理解,?放在前面代表从左往右匹配遇到第一个p就行了,把?放在后面就代表从右往左匹配遇到第一个就满足了
0102022-06-10
相似问题