[英]Write a regular expression that finds strings of the following kind
任務本身看起來像這樣:給定字符串'ave a#b a2b a$b a4b a5b ab acb'。 編寫一個正則表達式來查找以下類型的字符串:字母“a”和“b”位於邊緣,它們之間既沒有字母也沒有數字。
我真的很難理解它。 但我能夠寫出類似的東西:
'ave a#b a2b a$b a4b a5b ab acb'.replace(/a\\Wb/g, "")
,
但它的工作原理是只替換我需要輸出的值並留下'ave a2b a4b a5b acb'
,但我只需要刪除除'a#ba$b a-b'
之外'a#ba$b a-b'
所有內容。 你能幫我解決這個問題嗎?
你可以匹配所有出現\\ba[^\\sa-zA-Z0-9]b\\b
匹配模式a
之前沒有任何文字字符,那么其他任何字符不是空白,字母和數字,然后b
不后跟一個單詞 char,然后用空格連接輸出:
console.log( 'ave a#b a2b a$b a4b a5b ab acb'.match(/\\ba[^\\sa-zA-Z0-9]b\\b/g).join(" ") )
請參閱正則表達式演示。
注意:如果預期的匹配出現在空格之間或字符串的開頭/結尾,您可能需要用空格邊界替換單詞邊界, /(?<!\\S)a[^\\sa-zA-Z0-9]b(?!\\S)/g
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.