2014-10-31 50 views
0

我只想從滿足搜索的記錄中返回圖像的文件名。所以像這樣:是否有MySQL查詢只顯示搜索的字符串?

SELECT [just the string in the regexp like $1 in Perl] FROM articles 
WHERE content REGEXP 'img src="([a-z0-9A-Z\.\-\\/]+)'; 

這是甚至可能的嗎?我知道REPLACE會在記錄中挑出單詞,但找不到相應的單詞。

+1

MySQL只是檢查字段/值*是否匹配正則表達式,它不支持捕獲組。 – 2014-10-31 20:03:35

+1

您必須使用其他語言來解析結果並提取網址。 – 2014-10-31 20:08:18

回答

1

沒有內建函數會返回匹配的字符串部分。

MySQL REGEXP運算符返回一個布爾值。

正常情況下,我們會將列拖回客戶端,並在客戶端執行所需的處理。

爲了在MySQL中完成這項工作,您可以編寫一個自定義函數。除了在你的例子中編寫一個函數來處理這個簡單的正則表達式之外,這樣的函數將是不平凡的。

+0

謝謝,我想通了。如果我不需要,就不想寫Perl例程來做到這一點。 – breadwild 2014-10-31 20:20:29