MySQL REGEX是一个单词中的部分单词

时间:2012-07-24 10:12:32

标签: mysql regex

我正试图在MySQL中将一个单词与REGEX中的其他单词匹配,但我无法做到正确。

例如,搜索单词foo应匹配以下内容(不区分大小写):

foobar
barfoo
foofoo
football
foo-bar
foo_bar

并不匹配它们之间的空格,如:

foo bar

我在网上搜索并发现了一些REGEX,但它们与上述所有选项都不匹配。

这是我目前的模式:

REGEX '[[:<:]]'.$word.'(![:space:])[[:>:]]

1 个答案:

答案 0 :(得分:0)

我假设您在foo之前或之后允许任何非空格字符。

然后你可以使用

'^[^[:space:]]*'.$word.'[^[:space:]]*$'

转换为PCRE正则表达式,其中\S表示非空格字符,\b表示字边界:

^\S*foo\S*$

所以这匹配包含foo但不包含任何空格的单词。