You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求解仅在匹配内容内包含空白字符的正确正则表达式

正则匹配问题解决方法

你的正则([0-9+?\s])会全局匹配所有数字、加号、问号和空白字符,自然会命中字符串里其他位置的空格。要只匹配+12 121 323 454这段里的字符,试试下面两种方案:

方案1:匹配完整的电话号码段

直接匹配整个号码部分,避免零散匹配:

\+\d+(?:\s\d+)+
  • \+:精准匹配开头的加号
  • \d+:匹配一串连续数字
  • (?:\s\d+)+:匹配“空格+数字串”的组合,至少出现一次,非捕获组不生成多余分组

方案2:仅匹配号码内的单个字符

如果需要单独匹配号码里的每个字符(+、数字、空格),可以用范围限定:

(?<=\d|\+)\s?(?=\d)|[+0-9]

这个正则会只匹配属于电话号码部分的字符,不会触及其它位置的空白。

内容的提问来源于stack exchange,提问作者Asdf1234567

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:35:25