正则表达式:匹配包含某个单词的所有单词
Posted
技术标签:
【中文标题】正则表达式:匹配包含某个单词的所有单词【英文标题】:Regex: Match all the words that contains some word 【发布时间】:2017-07-21 00:17:13 【问题描述】:我想匹配所有包含单词“oana”的单词。我在一些单词的开头、中间和结尾都加上了大写字母“OANA”。
blah OANAmama blah aOANAtata aOANAt msmsmsOANAasfasfa mOANAmsmf OANAtata OANA3 oanTy
反正我做了一个正则表达式,但不是很好,因为它不会选择所有包含“oana”的单词
\b\w+(oana)\w+\b
谁能给我另一个解决方案?
【问题讨论】:
【参考方案1】:您需要使用不区分大小写的标志并将+
替换为*
:
/\b\w*oana\w*\b/i
参见regex demo(可能会使用也可能不会使用全局修饰符,具体取决于正则表达式引擎)。在某些正则表达式引擎中,不区分大小写的修饰符可以作为内联选项传递 - (?i)\b\w*oana\w*\b
。
这里,
\b
- 单词边界
\w*
- 0+ 个单词字符
oana
- 单词中所需的字符字符串
\w*
- 0+ 个单词字符
\b
- 单词边界
【讨论】:
就好了。非常感谢 Wiktor!以上是关于正则表达式:匹配包含某个单词的所有单词的主要内容,如果未能解决你的问题,请参考以下文章