我知道有很多相关问题,但似乎没有一个可以满足我的特定需求。

基本上,我需要匹配不是注释的CSS代码。
我已经试过了(先输入)


  富


(?<!/\*)foo


但它不符合以下条件:

/* foo




/* comment foo


同样,(?<!/\*\s*)foo也会导致错误。

PS对于那些可能会问的人,我不需要关心字符串。

最佳答案

如果您正在使用的CSS是“有效的”并且您忽略了字符串语法,则可以使用这样的廉价技巧:

foo(?!(?:[^/*]++|/(?!\*)|\*(?!/))*+\*/)


它的作用是检查foo后面是否没有*/(在其前面没有任何/*)。

(如果您的PHP版本已过时并且不支持所有格限定符+,则可以将其删除。)

关于php - 匹配没有评论的CSS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6963255/

10-17 02:00