将电话号码与字符串中的空格匹配

时间:2014-07-14 15:24:43

标签: php regex preg-replace preg-match

我有一个字符串

Contact us on 01234 567890 for free.

我需要在数字周围加一个跨度。

我搜索了各种答案,然后尝试了:

/([0-9\s]+)/
/([0-9[\s]]+)/
/([0-9[\s]*]+)/

但是这些都匹配字符串中的其他空格...我需要它只匹配空格,如果它在数字内。

3 个答案:

答案 0 :(得分:0)

您需要的是与此类似的正则表达式:

\d+\s\d+

我在这里做的是:

  • \d+ - 一个或多个数字字符
  • \s - 一个空格字符
  • \d+ - 一个或多个数字字符

请注意,使用此类正则表达式时,您的电话号码格式非常重要。它需要始终遵循相同的格式:{{DIGITS}}{{WHITESPACE}}{{DIGITS}}

答案 1 :(得分:0)

如果您的数据始终符合01234 567890,则可以使用/[0-9]{5}\s[0-9]{6}/ <子>(Debuggex

01234 567890    => matches
0123 4567890    => does not match

答案 2 :(得分:0)

更新了Lix的解决方案:

/\d+(\s+\d+)*/