MySQL 中的正規表示式擷取群組參考
在MySQL 中,可以使用下列方法來引用正規表示式中的擷取群組:
語法:
REGEXP_REPLACE(string, pattern, replacement)
對於MySQL 8:
可以使用捕獲組() 建立擷取群組。若要引用捕獲組,請使用 $1、$2 等。
<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)',''); -- Output: "overflowstack"</code>
對於 MariaDB:
MariaDB 中的捕獲組的管理方式不同。反向引用使用 \1、\2 等。
<code class="sql">SELECT REGEXP_REPLACE('stackoverflow','(.{5})(.*)','\2\1'); -- Output: "overflowstack"</code>
範例:
正規表達式^(.)1$ 檢查是否有兩個相同的字串開頭的字符,但此語法在MySQL中不起作用。相反,請使用以下內容:
<code class="sql">SELECT REGEXP_REPLACE('aabbcc','^(.)(.)$',''); -- Output: "b"</code>
此正規表示式將字串的前兩個字元(a 和a)作為兩個捕獲組進行匹配,並檢索第二個字元(b) 。
以上是如何在MySQL中引用正規表示式中的捕獲組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!