...的正则表达式哪个更准确? [1-9]\d*\.?\d* [1-9][0-9]{0

发布网友 发布时间:2024-10-24 18:30

我来回答

2个回答

热心网友 时间:9分钟前

给你补习下,方便以后都好用
\d:表示任意一个数字
\w:表示任意一个单词字符(只能是 数字,字母,下划线)
\s:表示任意一个空白字符
\D:表示任意一个非数字字符
\W:表示任意一个非单词字符
\S:表示任意一个非空白字符
"[]"用来描述单一字符,方括号内部可以定义这个字符的内容,也可以描述一个范围
例如:[1,2,3],表示该字符只能是1或2或3
"+":表示内容可以连续出现至少1次以上
"*":表示内容出现0-若干次
"?":表示内容出现0-1次
{n}:表示内容必须出现n次
{n,m}:表示内容出现n-m次
{n,}:表示内容出现至少n次

热心网友 时间:8分钟前

写个测试案例一下,就清楚了

p1
[1-9]\d*\.?\d* 1
[1-9]\d*\.?\d* 1.00
[1-9]\d*\.?\d* 1.0234
[1-9]\d*\.?\d* 1.2345
[1-9]\d*\.?\d* 11.2345
p2
[1-9][0-9]{0,}\.{0,1}[0-9]{0,} 1
[1-9][0-9]{0,}\.{0,1}[0-9]{0,} 1.00
[1-9][0-9]{0,}\.{0,1}[0-9]{0,} 1.0234
[1-9][0-9]{0,}\.{0,1}[0-9]{0,} 1.2345
[1-9][0-9]{0,}\.{0,1}[0-9]{0,} 11.2345
p3
[0-9]+([.]{1}[0-9]+){0,1} 1
[0-9]+([.]{1}[0-9]+){0,1} 1.00
[0-9]+([.]{1}[0-9]+){0,1} 1.0234
[0-9]+([.]{1}[0-9]+){0,1} 1.2345
[0-9]+([.]{1}[0-9]+){0,1} 11.2345

简单看,三个都可以,那就选简单的————但第1、第2 种,对 0.0 不匹配的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com