将 PHP 兼容的正则表达式转换为 MySql 兼容的正则表达式 - 提取澳大利亚手机号码
Convert PHP compatible Regular Expression to MySql compatible regular expression - To extract Australian Mobile Numbers
我有一个正则表达式,它在 PHP 代码中 运行 非常好。当我将它与 MYSQL 查询一起使用时它会抛出错误。
^(?:(?:\+|0{0,2})61(\s*[\-]\s*)?|[0]?)?[4]\d{8}$
请帮我把它转换成MYSQL兼容的正则表达式。
您可以使用以下查询在 MySQL
中提取澳大利亚手机号码(以 4、+61、61、04 等开头)
^(([+]|0{0,2})61([[:space:]]*-[[:space:]]*)?|0?)?4[0-9]{8}$
详情:
^
- 字符串开头
(
- 第一组开始:
([+]|0{0,2})
- 第 2 组匹配 +
或零,一个或两个零
61
- 61
字符串
([[:space:]]*-[[:space:]]*)?
- 可选的第 3 组匹配用零个或多个空格括起来的连字符
|
- 或者
0?
- 一个可选的零
)?
- 第一组的结尾,由于 ?
,这是可选的
4[0-9]{8}
- 4
然后任意八位数字
$
- 字符串结尾。
我有一个正则表达式,它在 PHP 代码中 运行 非常好。当我将它与 MYSQL 查询一起使用时它会抛出错误。
^(?:(?:\+|0{0,2})61(\s*[\-]\s*)?|[0]?)?[4]\d{8}$
请帮我把它转换成MYSQL兼容的正则表达式。
您可以使用以下查询在 MySQL
中提取澳大利亚手机号码(以 4、+61、61、04 等开头)^(([+]|0{0,2})61([[:space:]]*-[[:space:]]*)?|0?)?4[0-9]{8}$
详情:
^
- 字符串开头(
- 第一组开始:([+]|0{0,2})
- 第 2 组匹配+
或零,一个或两个零61
-61
字符串([[:space:]]*-[[:space:]]*)?
- 可选的第 3 组匹配用零个或多个空格括起来的连字符
|
- 或者0?
- 一个可选的零
)?
- 第一组的结尾,由于?
,这是可选的
4[0-9]{8}
-4
然后任意八位数字$
- 字符串结尾。