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

如何编写匹配以数字开头、+后接数字的正则表达式

符合要求的正则表达式实现方案

1. 完整字符串校验正则(判断输入是否完全合法)

如果你的需求是校验整个输入是否符合规则,直接使用如下正则即可:

^\d+(\+\d+)*$

规则解释:

  • ^ 匹配字符串起始位置,保证从开头校验
  • \d+ 要求开头必须是1位及以上数字
  • (\+\d+)* 匹配0次或多次「+后跟1位及以上数字」的组合,确保所有+后面都跟随数字,同时不会出现末尾以+结尾的情况
  • $ 匹配字符串结束位置,保证校验覆盖整个输入

匹配效果验证:

  • 可匹配合法输入:1+2、3、1+22+3
  • 不可匹配非法输入:+1+2、1+、a+1+b+c、12+

2. 非法字符清洗正则(保留合法内容,删除无效字符)

如果你的需求是清洗输入中的非法内容,提取合法部分,按以下三步执行即可,不会出现连带删除合法数字的问题:

  1. 第一步:删除所有非数字、非+的非法字符
    正则:[^+\d],替换为空字符串
  2. 第二步:删除开头所有连续的+
    正则:^\+*,替换为空字符串
  3. 第三步:删除末尾的+,以及所有后面没有跟随数字的+
    正则:\+(?!\d)|\+$,替换为空字符串

原正则问题说明

你之前使用的[^0-9][^+]?逻辑是匹配1个非数字字符,再跟1个可选的非+字符,当匹配到开头的+时,后续的数字属于非+字符,就会被连带匹配到,所以会出现误删数字的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:27:03