[英]Match repeating pattern using single group in regex
使用JS正則表達式對象,是否可以使用一個或幾個組來匹配重復模式?
例如,將以下內容作為輸入:
#222<abc#321cba#123>#111
是否可以使用類似於以下內容的正則表達式來匹配“#321”和“#123”(但不匹配#222或#111,因為它們在/<.*?>/
組之外):
/<.*?(?:(#[0-9]+).*?)>/
(當前僅與第一個實例匹配),如果輸入中的匹配數量未知?
您必須遍歷內部模式。 首先使用/<(.*?)>/
提取它:
var outerRegex = /<(.*?)>/;
var match = outerRegex.exec(input);
var innerPattern = match[1];
接下來,遍歷結果:
var innerRegex = /#\d+/g;
while (match = innerRegex.exec(innerPattern))
{
var result = match[0];
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.