如何在MariaDB中从字符串提取正则表达式捕获组
如何在MariaDB中提取正则表达式捕获组
在MariaDB中,可使用REGEXP_SUBSTR()函数提取正则表达式的捕获组内容,通过指定捕获组索引即可获取对应匹配结果。
示例说明
目标正则表达式:District ([0-9]{1,2})([^0-9]|$)
我们需要提取其中第一个捕获组(即([0-9]{1,2})匹配到的数字内容),只需在REGEXP_SUBSTR()中指定第6个参数为1即可。
以下是具体输入输出示例:
- 输入字符串:
District 12 2021
执行语句:SELECT REGEXP_SUBSTR('District 12 2021', 'District ([0-9]{1,2})([^0-9]|$)', 1, 1, 'c', 1);
返回结果:12 - 输入字符串:
Southern District 3
执行语句:SELECT REGEXP_SUBSTR('Southern District 3', 'District ([0-9]{1,2})([^0-9]|$)', 1, 1, 'c', 1);
返回结果:3 - 输入字符串:
FooBar
执行语句:SELECT REGEXP_SUBSTR('FooBar', 'District ([0-9]{1,2})([^0-9]|$)', 1, 1, 'c', 1);
返回结果:NULL
注:
REGEXP_SUBSTR()的参数依次为:目标字符串、正则表达式、匹配起始位置、匹配次数、匹配模式、捕获组索引。其中'c'表示区分大小写,可根据需求调整。
内容的提问来源于stack exchange,提问作者Mastax
相关产品推荐
相关产品推荐

