2011-06-19 7 views
7

क्या किसी ने पाया है कि REGEX "\ b" MYSQL में काम नहीं करता है?क्या किसी ने पाया है कि REGEX " b" MYSQL में काम नहीं करता है?

मुझे लगता है कि अच्छी तरह से regex इंजन

 
^(//)?w7\b 

का उपयोग कर regex से मेल खाता का एक अच्छा टुकड़ा है लेकिन जब मैं ने 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

संबंधित मुद्दे