正則表達式在MySQL中不僅限于匹配文本,它還可以用于提取特定的值。下面是一些基本的正則表達式取值的例子。
-- 提取字符中的數字 SELECT SUBSTRING('abc123def456' FROM '[0-9]+'); -- 提取日期中的年份 SELECT SUBSTRING('2021-05-18' FROM '[0-9]{4}'); -- 提取郵箱中的用戶名 SELECT SUBSTRING_INDEX('john.doe@example.com', '@', 1); -- 提取URL中的域名 SELECT SUBSTRING_INDEX('https://www.example.com/index.html', '/', 3); -- 提取HTML代碼中的圖片路徑 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('', 'src="', -1), '"', 1);
以上例子中,SUBSTRING和SUBSTRING_INDEX函數都可以用來提取字符串中的特定部分。正則表達式在這些函數中用來指定要提取的內容。
需要注意的是,正則表達式在MySQL中的語法與其他編程語言略有不同。例如,在MySQL中匹配數字使用的是"[0-9]"而不是"\d"。
如果您想進一步了解MySQL正則表達式的應用,請參考MySQL官方文檔。