Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试用 MySQL 中的 REGEX 将一个单词与其他单词进行匹配,但我无法做到正确。
例如,搜索单词foo应匹配以下内容(不区分大小写):
foo
foobar barfoo foofoo football foo-bar foo_bar
并且不匹配它们之间的空格,例如:
foo bar
我在网上搜索并找到了一些正则表达式,但它们与上述所有选项都不匹配。
这是我目前的模式:
REGEX '[[:<:]]'.$word.'(![:space:])[[:>:]]
我假设您在 . 之前或之后允许任何非空白字符foo。
然后你可以使用
'^[^[:space:]]*'.$word.'[^[:space:]]*$'
转换为 PCRE 正则表达式,其中\S表示非空格字符并\b表示单词边界:
\S
\b
^\S*foo\S*$
所以这匹配包含foo但不包含任何空格的单词。