0
我有一個正則表達式這樣它提取2個字符之間與在這種情況下的的Javascript正則表達式逸出
(?<=\#)(.*?)(?=\#)
其#2之間的內容和UM如下
var extract = str.match(/(?<=\#)(.*?)(?=\#)/).pop();
使用它但因爲我想我需要逃避它正則表達式給出了錯誤。如何正確運用轉義字符爲上述正則表達式?
我有一個正則表達式這樣它提取2個字符之間與在這種情況下的的Javascript正則表達式逸出
(?<=\#)(.*?)(?=\#)
其#2之間的內容和UM如下
var extract = str.match(/(?<=\#)(.*?)(?=\#)/).pop();
使用它但因爲我想我需要逃避它正則表達式給出了錯誤。如何正確運用轉義字符爲上述正則表達式?
#(.*?)#
或
#([^#]+)#
只需使用這一點,搶group 1
。看到演示。
https://regex101.com/r/uE3cC4/14
var re = /#(.*?)#/gm;
var str = 'bazbarfoo#asad#';
var m;
while ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}
正則表達式可能是矯枉過正了這個任務。
var result = str.split("#")[1] || "";
#
,結果是空字符串。#
字符串中,結果是之後的一切。#
,結果是第一和第二#
之間的子字符串。
JavaScript不支持'(?<=)' – vks
如何可能我在JavaScript中使用呢?因爲正則表達式是普遍的? – Kalanamith