问号放到前面和后面有什么区别呢

来源: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就行了,把?放在后面就代表从右往左匹配遇到第一个就满足了

0
10
bobby
回复
沧海红心
https://blog.csdn.net/handsomexiaominge/article/details/87886857 这里有详细说明 你可以先看看这个
2022-06-10
共10条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程