gpt4 book ai didi

java - 使用正则表达式匹配数字

转载 作者:行者123 更新时间:2023-12-01 23:12:57 25 4
gpt4 key购买 nike

我需要匹配第一个字符是的数字-(减号)或不是 0(除非它是字符串中唯一的字符),我有点卡住了。 ^[-|1-9]?[0-9]+ 我目前已经得到了这个,但它会匹配任意数量的零。

示例:

应该匹配:

-16
25
2005

不应匹配:

-05
05
00001
0-017

最佳答案

尝试这样的模式:

^-?[1-9][0-9]*$

这将匹配字符串开头的可选 -,后跟 1 到 9 的单个数字,后跟 0 到 9 的零个或多个数字。开始 (^ )和结束($) anchor 确保数字之前或之后不允许有其他字符。

Demonstration

更新已经pointed out上述模式将匹配任何不带前导零的正十进制整数或负十进制整数,但它本身不匹配零。要处理这种情况,请向您的模式添加一个替换,如下所示:

^-?[1-9][0-9]*$|^0$

或者像这样:

^(-?[1-9][0-9]*|0)$

关于java - 使用正则表达式匹配数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21609146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com