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. 正则表达式替换所有“abc”与“xyz”
- 2. * abc的正则表达式是什么?
- 3. 正则表达式,用于检测ABC/ABC由/中间
- 4. 在PHP正则表达式找到abc @ xyz不能按预期工作
- 5. 转换VB - > C#。在[“abc”]中修改(“abc”)的正则表达式
- 6. jQuery.data( 'ABC', 'XYZ')不改变数据ABC
- 7. 正则表达式匹配包含单词'abc'的语句
- 8. 正则表达式匹配测试<not ABC>测试
- 9. 使用正则表达式“xxx:abc”来匹配“abc”?
- 10. 如何使用正则表达式如R蟒蛇交易 '([ABC])+'
- 11. 正则表达式,排除字符串“abc”的字符串
- 12. 使Java正则表达式 '[ABC] +' 每个字母匹配一次
- 13. 当输入字符串为abccabaaaccbbbc时,为什么Java正则表达式模式“[abc] {3}”匹配abc
- 14. 什么是正则表达式匹配模式ABC-ADM,12-2adm4,-5adm等
- 15. 正则表达式显示
- 16. SQLite3 OperationalError:表XYZ没有列名为ABC
- 17. 正则表达式是否会帮助搜索字符串? IN:“abc d efg”OUT:[“%abc%”,“%efg%”]
- 18. 正则表达式格式
- 19. 为什么我的正则表达式函数`string.test(“abc”)`不起作用?
- 20. 正则表达式匹配A,AB,ABC,但不匹配AC。 (“开头”)
- 21. PHP-MySQLi替换为正则表达式/正则表达式/正则表达式
- 22. 正则表达式为大写字母,接着是一个空格,然后用数字“ABC 123”或“420 BLZ”
- 23. 显示日期格式,使用正则表达式
- 24. PHP:正则表达式来移除``或``?
- 25. php正则表达式或|运营商
- 26. .htaccess RewriteRule for abc/xyz/myfile?s = t
- 27. 的Transact-SQL:插入XYZ(从ABC选择*)
- 28. 正则表达式(正则表达式)
- 29. 正则表达式(正则表达式)
- 30. 正则表达式或OR两个范围正则表达式
顺序事项'升压\ B'首先匹配。 '\ W *((?i)Boost \ s * Mobile \ b(?-i)|(?i)Boost \ b(?-i)\ s *)\ W *'会起作用。无论如何,有一个更好的答案。 – chris85