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

奥地利电话号码正则表达式优化需求及现有规则问题

电话号码正则表达式优化方案

现有正则

  • 正则1:
    (\d{4,12}\/*(\+43)* *(\([0-9]+\))*([ ]*(-|–)*[ ]*[0-9]+))
    
  • 正则2:
    ([\/ \-\d]*)
    

允许匹配的号码格式

03852 4637
03852 463728
03852/4637
038524637
03852463728
03852/463728
004338524637
+4338524637
00433852463728
+433852463728
00433852/4637
+4303852/4637
00433852/463728
+433852/463728

01 23457
0123457
01/23457
0043123457

+43 662 8180-0
0662 8180-0
0662 81800
066281800
0662 8180
06628180
0043662 818
00436628180
+43662 8180

禁止匹配的号码

122
133
144
121
911
112
110

需求说明

  • 需匹配句子中的电话号码,匹配结果为“Match 1”
  • 现有正则([\/ \-\d]*)可覆盖允许的号码格式,但无法识别+符号,需优化正则以支持+并排除禁止号码

优化后的正则表达式

基础版(覆盖所有允许格式,排除禁止短号)

\b(?!(122|133|144|121|911|112|110)\b)(\+43|0043)?[\d\s\/-]+\b

精确长度版(确保至少包含4位数字,避免匹配无效短串)

\b(?!(122|133|144|121|911|112|110)\b)(\+43|0043)?(?:[\d\s\/-]*\d){4,}\b

正则说明

  • \b:单词边界,确保匹配完整的电话号码,避免匹配句子中嵌入的数字片段
  • (?!...):负向前瞻,直接排除指定的禁止号码
  • (\+43|0043)?:可选匹配奥地利国际区号,支持+43或0043两种格式
  • [\d\s\/-]+:匹配数字、空格、斜杠、横杠组成的号码主体
  • (?:[\d\s\/-]*\d){4,}:确保号码至少包含4位有效数字,过滤无意义的短分隔符组合

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:25:39