我有一個字串:
'@test1 in else',
'@test2 in something',
我的目標是在正則運算式匹配時收到以下內容:
test1
test2
我得到的最接近的是使用它,但它似乎沒有完全作業,請幫我弄清楚,謝謝:
(?<=@)(.*)(\s )
uj5u.com熱心網友回復:
很長一段時間,JavaScript 都不支持 Lookbehind。它現在是 ECMAScript 2018 的一部分,并在 Google Chrome 中得到支持。所以(?<=@)可能不適用于所有瀏覽器。
在您的示例中(.*)搜索最長的匹配(貪婪)與(.*?)您獲得最短的匹配(懶惰或不情愿)
@(.*?)\s 或者@(\w ),您將在比賽的 group1 中找到您的結果。
https://regex101.com/r/JSwVOk/1
https://regex101.com/r/JSwVOk/2
uj5u.com熱心網友回復:
您可以使用(?<=@)(\w*)以下\w*內容:
匹配任何單詞字符(字母數字和下劃線)。僅匹配低 ascii 字符(無重音字符或非羅馬字符)。等價于 [A-Za-z0-9_]
但請注意,并非所有瀏覽器都支持正向后視。
https://regexr.com/6tiik
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/505612.html
標籤:javascript 正则表达式
