簡體   English   中英

正則表達式匹配未注釋的行

[英]Regex match lines that are not commented

所以我從JavaScript文件讀取了一個字符串,它將具有:

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

我正在使用這個注冊表:

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

抓住所有這些線。 但是,我需要過濾掉評論的那些。

所以,當我跑

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

我將只獲得以require開頭的未注釋行的匹配...

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

說明:

^斷言一行開頭的位置

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

require匹配單詞require

\\(匹配角色(

'匹配角色'

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

量詞: +在一次和無限次之間,盡可能多次,根據需要回饋

'匹配字符'字面上

\\) )字面上匹配字符

; 匹配角色; 按照字面

g修飾符:全局。 所有比賽(首場比賽不返回)

m修飾符:多行。 導致^$匹配每行的開頭/結尾(不僅是字符串的開頭/結尾)

編輯

顯然你想要在一個小組中找到路徑,所以我編輯了我的答案以更好地回答你的問題。

這是一個例子:

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

如果您只想匹配那些require使用以下內容:

/^\s*require.*/gm

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM