作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Greedy vs. Reluctant vs. Possessive Qualifiers
(7 个回答)
3年前关闭。
我明白 .*
(贪婪量词)回溯并尝试找到匹配项。和 .*+
(所有格量词)不回溯。
但是我一直在使用 .*
和 .\*?
经常但不知道什么时候用.*+
.
有人可以给出一个情况或例子,其中.*+
应该使用?
用一个例子的解释表示赞赏。
编辑:
我经历过理论部分,我再说一遍,我明白它是如何工作的 .我只需要一个匹配所有格量词的例子( .*+
)
最佳答案
有很多(依赖于正则表达式)实现细节,所以很难概括这些东西。例如 ^.*.+
你得到一个匹配字符串 " "
.与 ^.*+.+
你没有。因为第一个匹配器已经吞下了整串空格。
您可以在不希望正则表达式的下一部分意外匹配前一部分的任何情况下使用它。
您可以在 https://regex101.com/ 使用 PCRE 设置对此进行测试。
关于regex - 占有量词正则表达式的实际使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48340415/
我找到了这个tutorial关于正则表达式,虽然我直观地理解“贪婪”、“不情愿”和“占有”限定符的作用,但我的理解似乎存在严重漏洞。 具体来说,在以下示例中: Enter your regex: .*
我是一名优秀的程序员,十分优秀!