最近,在网上的某个地方*
,我找到了一个正则表达式的参考,它描述了贪婪的“第三种方式”,与贪婪匹配(.*)
和惰性(.*?)
匹配都不同。
我现在尝试搜索 SO、谷歌搜索,甚至搜索我的浏览器历史记录,但无济于事。
谁能猜出我看到了什么?
澄清:它指的是对我来说是一个新构造(类似于.*+
),我相信它甚至有一个名称(类似于,但可能不是,“被动贪婪”)。
*
我很欣赏“网络上的某个地方”与“在巴别图书馆中”或“在曼德布罗集合中”一样有用,但请尝试提供帮助
最近,在网上的某个地方*
,我找到了一个正则表达式的参考,它描述了贪婪的“第三种方式”,与贪婪匹配(.*)
和惰性(.*?)
匹配都不同。
我现在尝试搜索 SO、谷歌搜索,甚至搜索我的浏览器历史记录,但无济于事。
谁能猜出我看到了什么?
澄清:它指的是对我来说是一个新构造(类似于.*+
),我相信它甚至有一个名称(类似于,但可能不是,“被动贪婪”)。
*
我很欣赏“网络上的某个地方”与“在巴别图书馆中”或“在曼德布罗集合中”一样有用,但请尝试提供帮助
我认为您指的是“姿势”匹配。Java 在此页面上对其进行了描述:http: //java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
占有量词,贪婪地尽可能多地匹配并且不会后退,即使这样做也会使整体匹配成功。
语法与您描述的相同 (.*+) 。
这也许?http://www.regular-expressions.info/repeat.html
An Alternative to Laziness
In this case, there is a better option than making the plus lazy. We can use a greedy plus and a negated character class: <[^>]+>.
有各种不同的正则表达式包。在 Perl、Java、PHP 和可能的其他语言中(或多或少)使用 PCRE(Perl 兼容的正则表达式)。PCRE 手册页可能被视为权威参考。它描述了所有格量词(例如 *+ 和 ++),它们是原子团的简写。
好吧,不完全是参考,但仍然很好。 掌握正则表达式
还有一本来自 O'Reilly 的“参考”书,但我无法就此作证。刚刚第一次看到。
我总是在我的多维数据集中保留一份这份正则表达式备忘单的副本。