【发布时间】:2013-06-16 14:05:38
【问题描述】:
我在阅读 K.Sierra 时发现了以下句子:
贪婪量词实际上确实读取了整个源数据,然后它就起作用了 向后(从右边)直到找到最右边的匹配。那时,它 包括从源数据的早期到并包括以下数据的所有内容 是最右边匹配的一部分。
现在,假设我们有如下来源:
"proj3.txt,proj1sched.pdf,proj1,proj2,proj1.java"
和模式:proj1([^,])*
为什么它不匹配整个文本?贪婪它应该匹配最右边的“proj1.java”并且返回的匹配应该是最右边匹配之前的整个源?相反,它返回:
proj1sched.pdf
proj1
proj1.java
【问题讨论】:
-
对不起,我之前不清楚。我的意思是假设我将源代码指定为“xfooxxfoo”,将正则表达式指定为 .*foo,那么在这种情况下,为什么整个源代码(即 xfooxxfoo)都匹配?为什么和上面的例子不一样?
标签: java regex quantifiers