贪婪匹配的疑问

来源:3-3 正则表达式-2

codedog

2017-06-14

感觉“*.?([\u4E00-\u9FA5]+大学)”这里有疑问

*等同{0,}

?等同{0,1}

+等同{1,}

()表示一个单元

"*"时,它会尽量去匹配尽可能长的字符串 ,加一个“?”应该表示尽量减少重复上一个字符。这个表达式是减少字符串“study in 南京大学”中对“南”字的匹配。()中的字符正确的匹配了汉字。

在网上也没查到从右到左匹配这种说法。

上一视频中也是这个问题boooooobb也是这个问题,他只是把.*只是贪婪匹配了booooo。()中的内容匹配了bb。这个才与正则表达式的字符说的通。

不知道这么理解对不对。


写回答

1回答

bobby

2017-06-15

*贪婪匹配的意思是从左到右扫描一直遇到最后一个满足条件的字符为止 比如 bobby 如果是.*b的话 会一直扫描到最后一个b开始匹配, 如果是.*?b的话 遇到第一个b就开始提取了, 不知道你能明白这个意思吗

1
1
codedog
非常感谢!
2017-06-16
共1条回复

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

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

5796 学习 · 6290 问题

查看课程