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

如何修正Java正则表达式以正确匹配字符串中的合法整数

修正后的正则表达式解决方案

要匹配独立的合法整数(格式为number、+number、-number),需确保整数前后不与字母、数字或下划线这类单词字符相连,避免匹配像a+78中的+78这类嵌入在其他字符中的片段。

修正后的正则表达式

(?<!\w)(?:\+|-)?\d+(?!\w)

正则规则说明

  • (?<!\w):负向反向预查,确保匹配的整数前面不是单词字符(字母、数字、下划线),也支持字符串开头的场景。
  • (?:\+|-)?:可选的正号或负号,(?:...)是非捕获组,仅用于分组逻辑,不会额外生成捕获结果。
  • \d+:匹配一个或多个数字,构成整数的核心数值部分。
  • (?!\w):负向正向预查,确保匹配的整数后面不是单词字符,也支持字符串结尾的场景。

测试验证

将修正后的正则应用到你的测试字符串:

123 +234 -345 456 - + abc a+78 sdf-sdf +1abc -3sbc

匹配结果为:

123
+234
-345
456

完全符合预期,错误的+78等嵌入片段已被排除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:52:38