正则表达式匹配非贪婪的后缀(间歇性字符不包含匹配的字符串)

时间:2013-07-25 03:06:10

标签: regex

我正在尝试匹配以下内容中的#if macro do #end

class OtherClass {}
class MyClass<T:{T_1,T_2}> #if macro do #end {}

<T:{T_1,T_2}>说明字符串class#if macro do #end之间的字符集

问题是,如果您使用点或适用的字符集,您将从OtherClass匹配。 所以这可能是这样的:

(.(?!class))+?)

我还没有看到过如此广泛讨论的内容。它匹配测试用例,但它似乎导致内容上的pcre_exec错误,它实际上并不匹配。也许有很多回溯正在进行中。假设适用的字符集[a-zA-Z0-9_,\.{}<>]实际上与先前的类声明匹配,则有关如何解决此问题的任何建议。让我们假设用字符限制黑客来解决这个问题是不可能的。

0 个答案:

没有答案