我有一个正则表达式,用于捕捉字符串中的电话号码
/[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来完成我想要的但是在查询时它不会提取任何匹配项。有些东西告诉我,我错过某种表达方式来说“字符串中的任何地方”。我会指定正则表达式引擎,但我不确定MySql使用什么。
答案 0 :(得分:2)
使用
"[1,+][[:blank:].-][0-9]{3}[[:blank:].-][0-9]{3}[[:blank:].-][0-9]{4}"
因为MySQL REGEXP
不支持\s
和\d
。
[:blank:]
匹配空格和制表符,[0-9]
匹配任何ASCII数字。