正则表达式的前瞻性太过贪婪

时间:2017-08-07 11:21:52

标签: regex

我正在尝试使用正则表达式删除字符串的<span class="notranslate"></span>。 基本上它是因为Google Translate API需要这种包装,如果某些字符串不应该被翻译,这就是我需要的。

我有正则表达式(它需要处理新行,这就是使用[\S\s]而不是.的原因):

<span class="notranslate">[\S\s]+(?=<\/span>)<\/span>

然而,在测试它时,它太贪婪了,因为对于那个输入例如:

<span class="notranslate">%1</span> per il seguente motivo: <span class="notranslate">\n</span> <span class="notranslate">%2!d!</span>

正则表达式获得整个字符串。我有点困惑,因为许多答案(包括&#34; How to match "anything up until this sequence of characters" in a regular expression?&#34;)似乎表明?是非贪婪的事。

我需要让它找到span类的notranslate包裹,如果有很多则不是全部。

0 个答案:

没有答案