繁体   English   中英

负数的Java正则表达式?

[英]Java regular expression for negative numbers?

我有这种模式:

Pattern.compile("T([0-9]*)");

这对正数很好,但我需要它也做负数,例如“T-1T3T44”应该有用。 或者也许使用空格而不是'T',所以它应该适用于这样的字符串:“ - 1 2 3 2 -1 6 2”。 对不起我之前没有真正使用正则表达式。所以有什么建议吗? 谢谢。

Pattern.compile("T(-{0,1}(?!0)\\d+)"); 

请注意使用负前瞻(?!0)来排除-0数字和以0开头的数字。

你有没有想过尝试:

"T(-?[0-9]+)"

您会注意到我也将"*" (零或更多)更改为"+" (一个或多个),因为""在技​​术上不是一个数字:-)

试试:

Pattern.compile("T(-?[0-9]*)");
Pattern.compile("T-?([0-9]*)");

使减号可选?

笔 - ?([0-9] *)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM