如何使用 mysql 删除此正则表达式

how can I delete this regex with mysql

我有一个 UDF regex_replace 替换了 CASEINSENSITIVE 正则表达式。现在我想在这个字符串中获取 () 内的字符串。我做了:

    SELECT regex_replace('[^0-9{MC.D}]+','',"HPLC Labor Öttl 1 Raumtemperatur(MC1.D.03.031)");

输出是,这是不需要的:C1mmMC1.D.03.031

我需要。 MC1.D.03.031 而已。 我如何使用适合我的 UDF 的正则表达式执行此操作?

谢谢

你可以使用 SUBSTRING_INDEX https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring-index:

 SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('HPLC Labor Öttl 1 Raumtemperatur(MC1.D.03.031)', '(', -1), ')', 1) ;
mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('HPLC Labor Öttl 1 Raumtemperatur(MC1.D.03.031)', '(', -1), ')', 1) ;
+------------------------------------------------------------------------------------------------------+
| SUBSTRING_INDEX(SUBSTRING_INDEX('HPLC Labor Öttl 1 Raumtemperatur(MC1.D.03.031)', '(', -1), ')', 1)  |
+------------------------------------------------------------------------------------------------------+
| MC1.D.03.031                                                                                         |
+------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)