正则表达式 只能出现一次或0次
发布网友
发布时间:2022-05-26 13:06
我来回答
共3个回答
热心网友
时间:2023-10-18 13:38
这个正则表达式是不会接受个位数的,它只接受两位以上的数。
[1-9]这个必须要一个1-9的数
[0-9]*这个代表0-9中的数出现一次或N次
[.]?这个不只是代表一个点了,也可以是其他(中文或者英文或者数字),并且只能出现一个或0个
[1-9]+这里就代表1-9中必须出现至少一次
所以综上2是不接受的。可以匹配的如下例子:
101254.12458
101254.12
11
1.25
1b1264
热心网友
时间:2023-10-18 13:39
[1-9]\d*\.?[1-9]+
这样更好
——————————————————
这个正则表达式为什么不接受2呢?
不只是2,所以一位数都不行
因为你设定的是一定要有1个数字在前,后面还得跟着1-N个数字
如果你想连一位数都包括的话就是(我没验证过):
(([1-9]\d*\.)?[1-9]+)
————————————————————
提示:不知道你用什么语言,一般数学问题都是程序问题,不应该是正则的工作;
测试可以去:http://mengzhuo.org/regex/
热心网友
时间:2023-10-18 13:39
c(?=((?!c).)*$)
匹配最后一个出现的字符c
无论这个字符是不是最后出现的,打印出来还是这个字符,除非这个正则表达式前后还有字符,才能判断出是最后出现的字符,如
[a-z]{2}c(?=(.(?!c))*$)
匹配最后包含字符
c的连续3个小写字母