我不得不把一根线拆成他的号码。
例如,字符串如下所示:
VAR_1123 Var_G -12.34 VAR-14.34 12.4 12 -234我想要的结果:
-12.34,
12.4
12
-234我尝试这个正则表达式:
([\-]?[0-9]+[\.[0-9]+]?)但结果还包括1123和-14.34。
如何排除所有带有下划线或字符bevor的数字?
为了进行测试,我使用以下链接:
http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx
发布于 2011-10-17 18:24:06
?:表示非捕获匹配。[\-]更改为简单的lookaheads或lookbehinds以检查周围是否有空格。因此,最终的正则表达式如下所示:
(?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$)在线查看它的工作方式:ideone
发布于 2011-10-17 18:38:47
给您:-)
(?<=\A|\s)-?[\d.]+\b发布于 2013-03-16 16:05:00
\s\-*\d\S*\d前缀空白,可能为负数,边界之间以可能的字符限制的数字。工作,但显然可以改进,以涵盖更多的情况。
https://stackoverflow.com/questions/7792358
复制相似问题