如何使用 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)
我有一个 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)