正则表达式 - 如果模式前缀为// - 注释掉,则避免匹配

时间:2013-12-24 16:05:58

标签: javascript regex

我有以下正则表达式(JS.match)模式/@import ['"](.*)['"]/g,允许包含外部文件,例如。

@import "/my/path"返回/my/path

一切正常,但我想通过///* */启用评论

因此,如果字符串包含//@import "/my/path"/* @import "/my/path" */,则应该不匹配。

任何想法?

1 个答案:

答案 0 :(得分:1)

(?![/*])[^/* ]@import ['"](.*?)['"]

Live demo

<强>更新

(?![/*])[^/* ]@import ['"](.*?)['"](?![^/]*?\*\/)

Live demo

更新#2

将以下正则表达式与m标志一起使用:

(?:(?![/*]])[^/* ]|^ *)@import ['"](.*?)['"](?![^*]*?\*\/)

Live demo