簡體   English   中英

Javascript正則表達式轉義

[英]Javascript regex escape

我有一個像這樣的正則表達式,它提取2個字符之間的內容,在這種情況下,它提取2個字符之間的內容

 (?<=\#)(.*?)(?=\#)

並按如下方式使用它

var extract = str.match(/(?<=\#)(.*?)(?=\#)/).pop();

但是正則表達式會出錯,因為我認為我需要對其進行轉義。 如何正確為上述正則表達式應用轉義字符?

正則表達式對於此任務可能會過大。

var result = str.split("#")[1] || "";
  • 如果字符串中沒有# ,則結果為空字符串。
  • 如果字符串中僅包含一個# ,則結果將緊隨其后。
  • 如果字符串中有兩個或多個# ,則結果為第一個和第二個#之間的子字符串。
#(.*?)#

要么

#([^#]+)#

只需使用它並抓住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.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM