我需要在Javascript中使用正則表達式在下面的字符串中僅獲得「Callout
」值。正則表達式:如何在大括號中得到大括號中的值
str = "aaa {Callout [apple]} bbbb";
我需要在Javascript中使用正則表達式在下面的字符串中僅獲得「Callout
」值。正則表達式:如何在大括號中得到大括號中的值
str = "aaa {Callout [apple]} bbbb";
保持它在我看來很簡單。如果你想通過result[0]
串訪問它的第一場比賽..
var string = "asdfadsfsad {Callout1 [callout1]} dasdfsadf {Callout2 [callout2]} ccc]";
var result = string.match(/[^{]+(?=\[)/g);
console.log(result[0]); // => "Callout1 "
對於所有比賽剛剛訪問result
直接。
console.log(result); // => [ 'Callout1 ', 'Callout2 ' ]
正則表達式:
[^{]+ any character except: '{' (1 or more times)
(?= look ahead to see if there is:
\[ '['
) end of look-ahead
這段代碼我想要的是什麼......你讓我的週末快樂...... :-) –
您可以使用前瞻和組匹配:
\{(\w+)(?=\b)
JS代碼:
var re = new RegExp(/\{(\w+)(?=\b)/);
var m = re.exec("aaa {Callout [apple]} bbbb");
alert(m[1]);
從開頭顯示帶大括號的輸出。但我不想在輸出中使用最初的大括號。 –
@RanjitSachin它不會在輸出,如果你只會打電話匹配的組:看上面的JS代碼示例 – alfasin
哎呀..我想下面: var str =「asdfadsfsad {Callout [callout1]} dasdfsadf {標註[callout2]} ccc]「; var patt =/\ {(\ w +)(?= \ b)/ g; var result = str.match(patt); alert(result); –
Tr的Y本
{(.*?)\[
var myString = "asdfadsfsad {Callout [callout1]} dasdfsadf {Callout [callout2]} ccc]";
var myRegexp = /{(.*?)\[/g;
var match = myRegexp.exec(myString);
alert(match[1]);
這需要更多的闡述。你有什麼嘗試?你在哪裏失敗?當你有'aaa {Callout [apple] Callin} bbbb'時應該匹配什麼?那麼'aaa {{ccc,Callout} ddd [apple] Callin} bbbb'怎麼樣?我正在投票結束這個問題 – HamZa
不要擔心其他情況。我只爲此尋找 –