[英]Regex capturing : get the whole match in a capturing group
我無法像我想要的那樣進行捕獲:
我的目標是用字符串捕獲第一個捕獲組的長度:
var regex = /(_)?;([\w]+);([\w]+);/;
var string = "____;foo;bar;";
var matches = regex.exec(string);
console.log(matches); // outputs ["_;foo;bar;", "_", "foo", "bar"]
如您所見, matches[1]
包含捕捉對象的下划線,但給我匹配的字符,而不是所有下划線。 我期望的結果是:
["_;foo;bar;", "_____", "foo", "bar"]
有沒有辦法用正則表達式來實現呢? 我寧願避免使用;
分割字符串;
...
您可以使用以下模式:
/(_*);(\w+);(\w+);/
這會給你:
["_____;foo;bar;", "_____", "foo", "bar"]
此模式將匹配以下順序:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.