首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只有正则表达式中的数字,也有负数

只有正则表达式中的数字,也有负数
EN

Stack Overflow用户
提问于 2011-10-17 18:21:07
回答 5查看 4.3K关注 0票数 1

我不得不把一根线拆成他的号码。

例如,字符串如下所示:

代码语言:javascript
复制
VAR_1123 Var_G -12.34 VAR-14.34 12.4 12 -234

我想要的结果:

代码语言:javascript
复制
-12.34,
12.4
12
-234

我尝试这个正则表达式:

代码语言:javascript
复制
([\-]?[0-9]+[\.[0-9]+]?)

但结果还包括1123和-14.34。

如何排除所有带有下划线或字符bevor的数字?

为了进行测试,我使用以下链接:

http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-17 18:24:06

  • 使用圆括号而不是字符类对点和最后几位数字进行分组。
  • 使用?:表示非捕获匹配。
  • [\-]更改为简单的lookaheads或lookbehinds以检查周围是否有空格。

因此,最终的正则表达式如下所示:

代码语言:javascript
复制
(?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$)

在线查看它的工作方式:ideone

票数 0
EN

Stack Overflow用户

发布于 2011-10-17 18:38:47

给您:-)

代码语言:javascript
复制
(?<=\A|\s)-?[\d.]+\b
票数 2
EN

Stack Overflow用户

发布于 2013-03-16 16:05:00

代码语言:javascript
复制
\s\-*\d\S*\d

前缀空白,可能为负数,边界之间以可能的字符限制的数字。工作,但显然可以改进,以涵盖更多的情况。

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

https://stackoverflow.com/questions/7792358

复制
相关文章

相似问题

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