擷取 MySQL 正規表示式中的群組參考
在 MySQL 中使用正規表示式時,擷取群組可用於擷取部分文字。然而,與許多其他程式語言不同,MySQL 不提供相同程度的支援來在後續正規表示式替換中引用捕獲組。
在 MySQL 8 中,REGEXP_REPLACE 函數引入了使用 $1 引用捕獲組的功能, $2 等。例如,以下查詢將字串'stackoverflow' 的前五個字元替換為其餘字元:
<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- "overflowstack"</code>
MariaDB 也允許在REGEXP_REPLACE 中捕獲,但使用1, 2 進行引用等
但是,需要注意的是,在MySQL 的早期版本中,例如MySQL 5.7 及之前的版本,不直接支援在正規表示式中引用捕獲組。在這些版本中,引用捕獲的群組需要使用諸如用文字字串替換整個匹配項或透過外部 PCRE 庫使用 Perl 相容的正規表示式 (PCRE) 等技術。
以上是如何在 MySQL 正規表示式中引用捕獲的群組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!