2017-09-09 36 views
0

這裏是我的查詢它不工作:Mysql的正則表達式返回結果爲零

select composition from `drugs` where composition regexp "^Diclofenac([^)])" 

和輸出:

Diclofenac(50mg),Thiocolchicoside(8mg)            
Diclofenac(50mg),Thiocolchicoside(4mg)            
Diclofenac(75mg),Thiocolchicoside(4mg)            
Diclofenac(50mg),Thiocolchicoside(4mg)            
Diclofenac(50mg),Tamsulosin(0.4mg)             
Diclofenac(50mg),Eperisone(50mg)              
Diclofenac(50mg),Thiocolchicoside(8mg)            
Diclofenac(100mg),Rabeprazole(20mg)             
Diclofenac(75mg)                  
Diclofenac(50mg),Thiocolchicoside(8mg)            
Diclofenac(50mg),Serratiopeptidase(10mg)            
Diclofenac(100mg),Eperisone(150mg)             
Diclofenac(4mg),Thiocolchicoside(50mg)            
Diclofenac(100mg),Eperisone(150mg)             
Diclofenac(50mg),Thiocolchicoside(4mg)            
Diclofenac(50mg),Thiocolchicoside(8mg)            
Diclofenac(50mg),Nimesulide(100mg)             
Diclofenac(50mg),Paracetamol(325mg),Thiocolchicoside(8mg)       
Diclofenac(NA),Serratiopeptidase(NA)             
Diclofenac(50mg),Nimesulide(100mg)             
Diclofenac(50mg),Thiocolchicoside(4mg)            
Diclofenac(50mg),Paracetamol(325mg),Thiocolchicoside(4mg)       
Diclofenac(100mg),Rabeprazole(20mg)             
Diclofenac(50mg),Serratiopeptidase(10mg)            
Diclofenac(50mg),Nimesulide(100mg) 

我要搜查毒品,其中組合物開始與雙氯芬酸(),其次是「 ,「緊接着是硫柳秋菊苷()。嘗試跟隨,但沒有結果。

select composition from `drugs` where composition regexp "^Diclofenac([^)]),Thiocolchicoside([^)])" 

編輯: 創建DB小提琴:https://www.db-fiddle.com/f/fkQkn2WKdax2KbZqt7rPQ/0

+0

這些括號可能需要用反斜槓逃脫:從「藥物」中選擇組合物,其中組成正規表達「雙氯芬酸鈉([[])]」),硫秋水仙苷[([^)] \\)「 –

+0

沒有工作:-( – kargirwar

+0

[ )]僅僅表示匹配任何字符,而不是')'。既然你想匹配多個字符,你應該說'[^)] +'。 「+」表示匹配1個或多個字符。 – Salil

回答

1
select composition from `drugs` where composition regexp "^Diclofenac\\([^)]+\\),Thiocolchicoside\\([^)]+\\)$" 

除了添加'+'來匹配多個非右括號字符,即[^]],您需要轉義'(',因爲它在正則表達式中具有特殊含義

0

嘗試這種模式^Diclofenac(.*,Thiocolchicoside\(.*\))

.*,意味着任何事情之前,

\(.*\)手段(任何在括號中)

+0

我假設你的意思是^ Diclofenac \(。* \),Thiocolchicoside \(。* \)。 「*」是貪婪的。它也選擇以下,例如:雙氯芬酸(50mg),撲熱息痛(325mg),硫代秋水仙鹼(8mg) – kargirwar

相關問題