所以我从JavaScript文件中读取了一个字符串,其中包含:
...
require('some/path/to/file.less');
...
// require('some/path/to/file.less');
...
我正在使用这个注册表:
requireRegExp = /require(\ +)?\((\ +)?['"](.+)?['"](\ +)?\)\;?/g
抓住所有这些线条。但是,我需要过滤掉评论的内容。
所以当我跑
时while( match = requireRegExp.exec(str) ){
...
}
我只会获得以require ...
开头的未注释行的匹配项答案 0 :(得分:5)
regequireRegExp = /^\s*require\('([^']+)'\);/gm
说明:
^
在行的开头断言位置
\s*
检查空格字符0 ...多次
require
匹配单词require
\(
匹配字符(
'
匹配字符'
([^']+)
匹配任何不是'
1 ...多次
量词:+
在一次和无限次之间,尽可能多次,根据需要回馈
'
字面匹配字符'
\)
字面匹配字符)
;
字面匹配字符;
g
修饰符:全局。所有比赛(首场比赛时不返回)
m
修饰符:多行。导致^
和$
匹配每行的开头/结尾(不仅是字符串的开头/结尾)
修改强>
显然你想要在小组中找到路径,所以我编辑了我的答案,以便更好地回答你的问题。
以下是示例:
答案 1 :(得分:2)