簡體   English   中英

regex的exec返回null

[英]exec from regex returns null

這是我的代碼段:

 var myString = '#EXTINF:-1 group-title="|FR| CHAINES FRANÇAISES |FR|",|FR|*****CANALSAT*****|FR|'; var group_title = /(group-title=")(\\S*)["]/; var matchgroup_title = group_title.exec(myString); console.log(matchgroup_title); 

我對regex不熟悉,所以我無法理解此代碼。 為什么這里的exec返回null?

(group-title=")group-title="匹配

(\\S*)匹配零個或多個非空白字符,因此|FR|

["]然后匹配一個" ,但是沒有一個(嗯,有,但是首先有空格字符,所以沒有匹配項)。

存在問題是由於\\S* 如果將其放入regex101.com ,則會看到:

因此, \\s*將匹配任何非空白字符,並且空格被視為空白字符 ,因此不匹配。 您可以簡單地使用[^"]檢查是否有其他引號。

您可以將其簡化為:

 var myString = '#EXTINF:-1 group-title="|FR| CHAINES FRANÇAISES |FR|",|FR|*****CANALSAT*****|FR|'; var group_title = /group-title="([^"]+)"/; var matchgroup_title = group_title.exec(myString); console.log(matchgroup_title); 

暫無
暫無

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

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