在 MySQL 中使用正規表示式時,了解如何引用捕獲組至關重要。捕獲組使您能夠匹配和提取字串中的特定模式。
在問題中,使用者嘗試使用表達式 REGEXP '^ 捕捉重複字元(.)1$'。但是,此嘗試無法正確引用捕獲組。
在 MySQL 8 及更高版本中,您可以使用 $1、$2 等來引用捕獲組。以下表達式成功擷取並取代模式:
SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- "overflowstack"
此處,(.{5}) 擷取五個字元的序列,(.*) 擷取任何剩餘字元。結果是捕獲組互換的字串:「overflowstack。」
對於MariaDB,捕獲組引用使用\1、\2 等:
SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1'); -- "overflowstack"
記住,捕獲組允許您定位字串的特定部分,為MySQL 查詢中的模式匹配和操作提供更大的靈活性。
以上是如何在 MySQL 正規表示式中引用捕獲組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!