2011-06-19 5 views
7

MYSQLでREGEX "\ b"が動作しないことが判明しましたか? MYSQLでREGEX " b"が動作しないことが判明しましたか?

は、私にはよく正規表現エンジン
 
^(//)?w7\b 

を使用して一致する正規表現の素敵な作品を持っている。しかし、私はMYSQLクエリ

 
WHERE (e.department REGEXP '^(//)?w7\b') 

の一部としてそれを使用する場合には一致しません。 \ bコンポーネントを削除しても、一致はうまくいくが、\ bで必要な精度ではない(基本的に全単語W7と一致する必要がある)

ありがとう!

+0

MySQLの使い方[正規表現のようなPOSIX](http://en.wikipedia.org/wiki/Regular_expression#POSIX_Basic_Regular_Expressions)、[REGEXP]のためのMySQLのマニュアルを参照してください(HTTP ://dev.mysql.com/doc/refman/5.1/en/regexp.html) – hakre

答えて

11

REGEXPのドキュメントを下に見てください。スタートの単語/エンド・オブ・言葉マーカーは、次のとおりです。

[[:<:]], [[:>:]] 

これらのマーカーは、単語の境界を表します。それらはそれぞれ単語の始まりと終わりに一致します。

試してみてください。

WHERE (e.department REGEXP '^(//)?w7[[:>:]]') 
+0

それはトリックでした、ありがとう! – Mark

関連する問題