我正在處理一個項目,該項目需要查找包含確切字符串或相同字符串作爲確切格式一部分的記錄。換句話說,如果字符串是「世界你好」,有可能是說... 10條記錄中有該字段值的數據庫,但該領域可能是下列之一:查找包含確切字符串的MySQL記錄
"1. hello world"
"1 hello world"
"hello world"
"hello world (xyz)"
"1. hello world (xyz)"
"1 hello world (zyx)"
字符串「hello world」可以是任何事情,但前綴總是以數字開頭或不存在,後綴總是以括號結尾或不存在。
我想我用下面的正則表達式破解它,但是這並不返回任何記錄:
WHERE fieldname REGEXP '^([0-9]+.*)?[[:<:]]hello world[[:>:]](.*\))?$'
此外,我從來沒有用過[:<:]] [[:> :]]之前,並假設這是要走的路,我不知道如何逃避之間的文字,因爲這將是PHP生成的?該文件說,加倍逃避的反斜槓,所以我猜mysql_real_escape_string是不夠的...?
任何意見,將像往常一樣,非常感激。
怎麼樣'LIKE'%hello world%''?請參閱[this](http://www.w3schools.com/sql/sql_like.asp) – pietv8x
不幸的是,基本LIKE不夠,因爲我需要排除不符合此格式的記錄。例如「不同的hello world(xyz)」或「1. hello world two」 – Ric
可以嘗試[像這樣](http://sqlfiddle.com/#!9/59f2c9/11/0)''^([0 -9]。*)?[[:<:] hello world($ | [[:>:]]。+ [)] $)'' –