正则表达式在java中包含负数

时间:2012-01-24 20:19:33

标签: java

在这个程序中,我将输入解析为整数,我似乎无法接受负数并尝试了一堆正则表达式。我可以通过删除&& ^来得到正整数没问题 - 它只是我遇到问题的负整数。

示例:

input = console.readLine("?> ").split("\\D+&&^-");

任何想法和我做错了什么?感谢您提前提供任何帮助。

示例输入: -7 * 4

输出: -7和4应该存储在一个字符串数组中。

2 个答案:

答案 0 :(得分:3)

&& 正则表达式中的“and”运算符。我想你打算使用[^0-9-]+,对吧?

我建议匹配而不是拆分。但是,两者都不能轻易解决-12-34的角落问题。拆分将为您提供单个不可解析的数字。与-?\d+匹配将为您提供两个数字,其间没有任何内容(您可以将其视为默认值+)。

答案 1 :(得分:0)

-\d*应该会得到一个负整数。如果您需要更复杂的内容,例如十进制数字,请查看this link