是否有检测嵌套注释的正则表达式规则?用";嵌套通信网";我的意思是:
/* something /* something */ something */
我不想要一个检测到这样东西的规则:
/* something inside /* something inside */ something inside */ something outside /*something inside */
我希望something outside
之后的注释是一个新的检测。非常感谢。
如果您使用像PCRE(Perl、PHP等(这样支持递归的正则表达式引擎,这是可能的。
您可以使用此正则表达式来捕获嵌套的注释:
/*(?:(?!/*|*/).|(?R))**/
/*
匹配/*
(?:...)
非捕获组(?!/*|*/).
任何不构成/*
或*/
的字符|
或(?R)
递归整个规则,这就是/* ... */
的整个结构*/
匹配*/
检查校对
但如果没有递归,你只能用你使用的任何编程语言带来的逻辑来实现它。
如果你想捕捉评论之外的内容,你可以尝试
(/*(?:(?!/*|*/).|(?1))**/)|((?:(?!(?1)).)+)
它们存储在不同的组中。
检查校样