13得票4回答
以非贪婪模式编写反向的正则表达式,使其与正向方向的行为相同。

这个模式: /a+?b+?/ 对于以下字符串: aaaaaabbbbbb 匹配: aaaaaab 我们可以看到,非贪婪模式在向后/向左方向上表现不同(匹配所有),而在向前/向右方向上表现不同(只匹配一个)。 是否有一种方法可以使非贪婪模式在开始时匹配所有的a,同时也尽可能少...

12得票3回答
正则表达式表现懒惰,应该变为贪婪。

我认为默认情况下我的正则表达式会表现出我想要的贪婪行为,但是在以下代码中它并没有: Regex keywords = new Regex(@"in|int|into|internal|interface"); var targets = keywords.ToString().Split...

12得票6回答
正则表达式:懒惰模式更糟糕吗?

我一直都是这样写正则表达式的<A HREF="([^"]*)" TARGET="_blank">([^<]*)</A> 但是我刚刚学到了这个懒惰模式,并且我可以像这样编写它<A HREF="(.*?)" TARGET="_blank">(.*?)&lt...

11得票4回答
为什么我的非贪婪Perl正则表达式仍然匹配太多?

假设我有一行包含以下字符串: "$tom"说了一些话。 "$dick"说:"一些话"。"$harry"说了一些话。 我想要提取: "$dick"说:"一些话" 我有以下代码:my ($term) = /(".+?" said ".+?")/g; print $term; 但它提...

10得票5回答
Posix 正则表达式非贪婪匹配

在 C 语言中是否有像 Perl 中一样可以使用非贪婪正则表达式的方法呢?我尝试了几种方法,但实际上并没有起作用。 我目前正在使用这个匹配 IP 地址和相应 HTTP 请求的正则表达式,但它是贪婪的,尽管我使用了 *?: ([0-9]{1,3}(\\.[0-9]{1,3}){3})(.*?)H...

9得票2回答
我可以提供一个关于dotall的非贪婪正则表达式吗?

我想匹配点字符和非贪婪模式。这是我已有的代码: img(.*?)(onmouseover)+?(.*?)a 然而,这并不是非贪婪匹配。这个数据并不符合我的预期: <img src="icon_siteItem.gif" alt="siteItem" title="A versio...

9得票2回答
非贪婪正则表达式与否定字符类哪个更好?

我需要从字符串@anything_here@dhhhd@shdjhjs@中匹配@anything_here@。所以我使用以下正则表达式。 ^@.*?@ 或者 ^@[^@]*@ 两种方法都可以,但我想知道哪一种是更好的解决方案。使用非贪婪重复的正则表达式还是使用否定字符类的正则表达式?

8得票1回答
正则表达式中包含非贪婪量词的能否重写为仅使用贪婪量词?

假设我有一个支持文字,正负字符类,有序交替和贪婪量词“?”,“*”和“+”的正则表达式语言。 (这本质上是PCRE的子集,没有反向引用,环视断言或其他一些花哨的部分。)添加非贪婪量词“??”,“*?”和“+?”是否增加了该形式主义的表现力? 换句话说,给定包含非贪婪量词的模式S,可以将该模式...

8得票3回答
第二个出现的位置替换 Sed

我希望使用sed删除第二次出现的模式。这是我想要的,删除模式但仅针对第二次出现。 文件.csv中的内容如下: a,Name(null)abc.csv,c,d,Name(null)abc.csv,f a,Name(null)acb.csv,c,d,Name(null)acb.csv,f a,...

7得票5回答
正则表达式的非贪婪模式是贪婪的。

我有以下文本 tooooooooooooon 根据我正在阅读的书籍,当“?”跟随在任何量词后面时,它会变成非贪婪模式。 我的正则表达式“to*?n”仍然返回“tooooooooooooon”。 它应该返回“ton”,不是吗? 你知道为什么吗?