[英]Google App Script Regex exec() returns null only in one function
[英]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.