mysql REGEXP 不匹配
mysql REGEXP not matching
我有一个正则表达式,用于捕获字符串中的 phone 个数字
/[1,+ ().-][\s.-]\d{3}[\s.-]\d{3}[\s.-]\d{4}/
我尝试使用以下查询查询我的 MySql 数据库中的此正则表达式:
SELECT
*
FROM
`everything`.`instances_meta` AS m
WHERE
`meta.value` REGEXP "[1,+][\s.-]\d{3}[\s.-]\d{3}[\s.-]\d{4}"
我可以确认正则表达式本身通过测试它可以满足我的要求 here 但它在查询时不会提取任何匹配项。有些东西告诉我我缺少某种表达 "anywhere in the string"。我会指定正则表达式引擎,但我不确定 MySql 使用什么。
使用
"[1,+][[:blank:].-][0-9]{3}[[:blank:].-][0-9]{3}[[:blank:].-][0-9]{4}"
as MySQL REGEXP
不支持 \s
和 \d
.
[:blank:]
匹配空格和制表符,[0-9]
匹配任何 ASCII 数字。
我有一个正则表达式,用于捕获字符串中的 phone 个数字
/[1,+ ().-][\s.-]\d{3}[\s.-]\d{3}[\s.-]\d{4}/
我尝试使用以下查询查询我的 MySql 数据库中的此正则表达式:
SELECT
*
FROM
`everything`.`instances_meta` AS m
WHERE
`meta.value` REGEXP "[1,+][\s.-]\d{3}[\s.-]\d{3}[\s.-]\d{4}"
我可以确认正则表达式本身通过测试它可以满足我的要求 here 但它在查询时不会提取任何匹配项。有些东西告诉我我缺少某种表达 "anywhere in the string"。我会指定正则表达式引擎,但我不确定 MySql 使用什么。
使用
"[1,+][[:blank:].-][0-9]{3}[[:blank:].-][0-9]{3}[[:blank:].-][0-9]{4}"
as MySQL REGEXP
不支持 \s
和 \d
.
[:blank:]
匹配空格和制表符,[0-9]
匹配任何 ASCII 数字。