gpt4 book ai didi

javascript - 正则表达式匹配未注释的行

转载 作者:搜寻专家 更新时间:2023-11-01 05:22:14 25 4
gpt4 key购买 nike

所以我从 JavaScript 文件中读取了一个字符串,它将具有:

...
require('some/path/to/file.less');
...
// require('some/path/to/file.less');
...

我正在使用这个正则表达式:

requireRegExp = /require(\ +)?\((\ +)?['"](.+)?['"](\ +)?\)\;?/g

捕捉所有这些线条。但是,我需要过滤掉评论的内容。

所以当我运行的时候

while( match = requireRegExp.exec(str) ){
...
}

我只会匹配以 require... 开头的未注释行

最佳答案

requireRegExp =/^\s*require\('([^']+)'\);/gm

解释:

^ 在行首断言位置

\s* 检查空白字符 0 ... 很多次

require 匹配单词 require

\( 匹配字符 (

' 匹配字符 '

([^']+)匹配任何不是 ' 1 ... 很多次

量词:+介于一次和无限次之间,尽可能多次,按需回馈

' 按字面意思匹配字符 '

\) 匹配字符 ) 字面意思

; 匹配字符 ; 字面意思

g 修饰符:全局。所有比赛(第一场比赛不返回)

m 修饰符:多行。使 ^$ 匹配每行的开始/结束(不仅是字符串的开始/结束)

编辑

显然你想在一个组中获得路径,所以我编辑了我的答案以更好地回答你的问题。

例子如下:

https://regex101.com/r/kQ0lY8/3

关于javascript - 正则表达式匹配未注释的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30440644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com