- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在看这个问题Greedy vs. Reluctant vs. Possessive Quantifiers
我可以看到 *+
和 *
都匹配零次或多次,但是所有格量词 *+
将尽可能多地匹配前向尽可能.. 而 *
将执行 .*
和回溯。我可以接受当 .*
字符串很长时 *+
会更有效率。
不过,我对他们给出不同结果的时间很感兴趣。
然后我看到了一条评论
@moodboom, there are zero cases ever (mathematical fact) where possessive quantifiers will produce a match that will not be produced by simple greedy quantifiers. There are occasional cases where they will produce a no match when greedy quantifiers would produce a match. For ALL other cases (where greedy and possessive produce the same results), possessive quantifiers give a performance gain. – Wildcard May 5 at 23:00
我非常有兴趣看到这一点的扩展,具体情况下所有格和贪婪量词会给出不同的结果。
对比 *+
和 *
我也对可能的不同结果感兴趣,对比 ?+
与 ?
最佳答案
我找到了一个案例,但我不确定解释和针对性。我认为还有很多其他情况。
greedy = /.*b/
posssessive = /.*+b/
测试于:
foob
只有贪婪匹配它。
所有格将首先匹配整个字符串 (.*+
) 然后尝试匹配b
字符但只找到字符串的结尾 ( $
).
Greedy 也将匹配整个字符串,然后向后查找直到找到第一个 b
字符。它会找到的。
关于regex - `*+` 和 `*` 的所有格和贪婪量词给出不同结果的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45487542/
我试图让用户提交查询“Joe Frankles”、“Joe Frankle”、“Joe Frankle's”以匹配原始文本“Joe Frankle's”。现在我们正在索引这个文本所在的字段(轮胎/ r
我是一名优秀的程序员,十分优秀!