0

MySQLのREGEXを使用して、ある単語を他の単語と照合しようとしていますが、正しく理解できません。

たとえば、単語の検索ではfoo、次の単語と一致する必要があります(大文字と小文字は区別されません)。

foobar
barfoo
foofoo
football
foo-bar
foo_bar

そして、次のようにそれらの間のスペースを一致させないでください:

foo bar

Webを検索して、いくつかの正規表現を見つけましたが、上記のすべてのオプションと一致しません。

これは私の現在のパターンです:

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

1 に答える 1

0

の前後に空白以外の文字を許可すると想定していますfoo

その後、あなたは使用することができます

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

PCRE正規表現に変換されます。ここで\S、は非スペース文字を\b意味し、単語の境界を意味します。

^\S*foo\S*$

したがって、これfooは空白を含むが含まない単語と一致します。

于 2012-07-24T10:20:56.287 に答える