我正在嘗試使用正則運算式來查找以{{.
我試圖檢查字串中以 aZ 開頭{{并在其后有 aZ 但尚未結束 ( }}) 的任何地方。我正在嘗試的總是回傳null。
string = 'Hello {{name}}, you are {{a';
console.log(string.match(/^({{)?[a-z]:[A-Z]$/g));
{{a在這種情況下,我的預期輸出將{{name}}是完整的。任何幫助都非常感謝。
它之間唯一的東西是.:{{name.forename}} {{name.lastname}}
uj5u.com熱心網友回復:
您可以使用“有史以來最好的正則運算式技巧”,在這種情況下,匹配雙花括號之間的所有單詞字符塊或匹配并捕獲任何{{后面的零個或多個單詞字符:
Array.from(text.matchAll(/{{\w (?:\.\w )*}}|({{(?:\w (?:\.\w )*)?)/g), x => x[1]).filter(Boolean)
這里,
{{\w (?:\.\w )*}}-{{,一個或多個單詞字符,零個或多個 a 序列.和一個或多個單詞字符,}}|- 要么({{(?:\w (?:\.\w )*)?)- 第 1 組:{{一個或多個單詞字符和零個或多個 a.和一個或多個單詞字符的序列的可選出現。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457101.html
標籤:javascript 正则表达式
上一篇:SAS在正則運算式中使用$
