首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取非前导零的数字(包括"-")

获取非前导零的数字(包括"-")
EN

Stack Overflow用户
提问于 2019-04-19 16:33:18
回答 1查看 37关注 0票数 2

我想要匹配的数字包括"-“与非前导零和正常数字没有"-”。因此,我想使用正则表达式。

判罚

应该与0 1 2 3 123 2-3 22-33匹配

不应该与0123-123 01234相匹配。

下面的正则表达式几乎可以工作:

代码语言:javascript
复制
\b(0|[1-9][0-9]*\-?[0-9]*)\b

数字0 1 2 3 123 2-3 22-33和01234是正确匹配的,但0 123-123不是:它是部分匹配的.https://regex101.com/r/0Po3Ed/1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-19 16:38:56

您可以在正则表达式中使用负面的查找方式:

代码语言:javascript
复制
(?<!-)\b(?:0|[1-9][0-9]*(?:-[0-9]+)?)\b

更新的RegEx演示

(?<!-)是负查找表达式,如果在数字前面有-,则会使匹配失败。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55764925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档