簡體   English   中英

編寫一個正則表達式來查找以下類型的字符串

[英]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.

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