2011-06-19 19 views
7

¿Alguien ha encontrado que REGEX "\ b" no funciona en MYSQL?¿Alguien ha encontrado que REGEX " b" no funciona en MYSQL?

que tienen un buen pedazo de expresiones regulares que se adapta muy bien el uso de motores de expresiones regulares

 
^(//)?w7\b 

Pero cuando lo uso como parte de una consulta MySQL

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

que no coincidirán. Si elimino el componente \ b, la coincidencia funciona bien, pero no con la precisión que necesito con el \ b (básicamente, necesito hacer coincidir toda la palabra W7 solamente)

¡Gracias!

+0

usos MySQL [POSIX como expresiones regulares] (http://en.wikipedia.org/wiki/Regular_expression#POSIX_Basic_Regular_Expressions), consulte el manual de MySQL para [REGEXP] (http : //dev.mysql.com/doc/refman/5.1/en/regexp.html) – hakre

Respuesta

11

Mire los documentos REGEXP, hacia la parte inferior. El inicio de palabra/marcadores de fin de palabra son:

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

Estos marcadores representan los límites de palabra. Emparejan el principio y el final de las palabras, respectivamente.

Probar:

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

¡Eso funcionó, gracias! – Mark

Cuestiones relacionadas