1
A
回答
3
在NFA正則表達式中,在未錨定的交替組中,匹配的第一個分支停止了組處理,位於右側的其他分支未針對該字符串進行檢查。你可以在Alternation with The Vertical Bar or Pipe Symbol上閱讀更多內容。
因此,交換價值和簡化的模式,你可以使用
/\b(Boost \s*Mobile|Boost)\b/i
然而,這裏的最有效的方法就是通過使用可選的組:
/\bBoost(?:\s*Mobile)?\b/i
^^ ^^
i
不區分大小寫修飾符在整個正則表達式上設置。您無需在模式的開始/結束時將其打開和關閉。此外,\W*
可以匹配一個空字符串,因此當您使用\b
時,您檢查字邊界的方式可能會失敗。
圖案的詳細資料:
\b
- 領先字邊界Boost
- 文字串(?:\s*Mobile)?
- 0 - 匹配的\s*
1組或0的序列的可選組+空格Mobile
- 文字串
\b
- 尾字邊界
+0
非常感謝!這兩個解決方案都有效 – user6622569
相關問題
- 1. Java正則表達式匹配src =「abc」或src ='abc'
- 2. 正則表達式查找字符串與ABC開始,與XYZ
- 3. 正則表達式替換所有「abc」與「xyz」
- 4. 正則表達式:[a] bc vs abc
- 5. 正則表達式,用於檢測ABC/ABC由/中間
- 6. 在PHP正則表達式找到abc @ xyz不能按預期工作
- 7. 轉換VB - > C#。在[「abc」]中修改(「abc」)的正則表達式
- 8. 如何更換`abc`到`abc'`在記事本++使用正則表達式
- 9. jQuery.data( 'ABC', 'XYZ')不改變數據ABC
- 10. 正則表達式匹配包含單詞'abc'的語句
- 11. 使用正則表達式「xxx:abc」來匹配「abc」?
- 12. Java的正則表達式 「 - [0-9] {0,}」,似乎符合 「-ABC」
- 13. 正則表達式:檢查`abc`然後`在
- 14. 正則表達式匹配測試<not ABC>測試
- 15. 使Java正則表達式 '[ABC] +' 每個字母匹配一次
- 16. 正則表達式,排除字符串「abc」的字符串
- 17. 如何使用正則表達式如R蟒蛇交易 '([ABC])+'
- 18. 想要用「〜」替換「^^^」說abc ^^^ xyz應該被替換爲abc〜xyz
- 19. 當輸入字符串爲abccabaaaccbbbc時,爲什麼Java正則表達式模式「[abc] {3}」匹配abc
- 20. 什麼是正則表達式匹配模式ABC-ADM,12-2adm4,-5adm等
- 21. 正則表達式顯示
- 22. SQLite3 OperationalError:表XYZ沒有列名爲ABC
- 23. 正則表達式是否會幫助搜索字符串? IN:「abc d efg」OUT:[「%abc%」,「%efg%」]
- 24. 正則表達式匹配ABC的任何發生下列任何地方XYZ字符串
- 25. PHP的正則表達式格式?
- 26. 正則表達式應該選擇文本「xyz」之前的文本「abc」,除了「abc」之外不應該選擇任何內容
- 27. 正則表達式格式
- 28. PHP-MySQLi替換爲正則表達式/正則表達式/正則表達式
- 29. 正則表達式匹配A,AB,ABC,但不匹配AC。 (「開頭」)
- 30. 爲什麼我的正則表達式函數`string.test(「abc」)`不起作用?
順序事項'升壓\ B'首先匹配。 '\ W *((?i)Boost \ s * Mobile \ b(?-i)|(?i)Boost \ b(?-i)\ s *)\ W *'會起作用。無論如何,有一個更好的答案。 – chris85