我们在正则表达式 分组与非捕获组这篇文章中,有如下分组匹配案例
⏹
😵如果option元素都在同一行的话,继续使用之前的正则表达式
进行匹配的话
😒就会遇到下面的问题
apple
是我们预期的匹配值苹果
之后,还继续向后匹配到了很多预期外的数据⏹正则表达式有两种模式
*
,+
,{}
都默认贪婪匹配?
就可以转换为非贪婪匹配⭐我们使用下面的正则表达式
⭐匹配下面的HTML的时候
🤔当(.+)
进行匹配的时候,由于html都在一行,当匹配到苹果
的时候,由于苹果
后面还有符合条件的文本,于是贪婪模式的(.+)
会继续向后匹配,直到匹配到最后。
⏹
?
,将贪婪的.+
转换为非贪婪的.+?
(.+?)
匹配到苹果
之后,就不会继续向后匹配了⏹
[^<]+
:匹配除了<
之外的所有内容>苹果<
的时候,由于苹果
的后面有一个<
,因此就只会匹配到苹果
,不会继续向后匹配
上一篇:Ubuntu系统及其他实用工具
下一篇:Hibernate 继承关系映射