鱼C论坛

 找回密码
 立即注册
查看: 1093|回复: 2

[已解决]大佬帮解答一下正则表达式的问题

[复制链接]
发表于 2022-4-3 11:51:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
带1-2位小数的正数或负数
^(-)?d+(.d{1,2})?$

新手求教: 中间这个加号是啥作用, 不是应该是匹配一次或多次的意思吗?放在这里也不对啊, 难道还能没有整数位?
最佳答案
2022-4-3 12:22:49
试试这个:
^(\-)?\d+(\.\d{1,2})$

^(\-)? 匹配输入字符串的开始位置,将字符 "-" 标记为或特殊字符,匹配零次或一次。
\d+ 匹配一个数字字符,等价于 [0-9]。"+" 是匹配前面的子表达式一次或多次。
(\.\d{1,2}) 将字符 "." 标记为或特殊字符,\d{1,2} 为匹配一个或两个数字字符。
$ 匹配输入字符串的结束位置。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-4-3 12:22:49 | 显示全部楼层    本楼为最佳答案   
试试这个:
^(\-)?\d+(\.\d{1,2})$

^(\-)? 匹配输入字符串的开始位置,将字符 "-" 标记为或特殊字符,匹配零次或一次。
\d+ 匹配一个数字字符,等价于 [0-9]。"+" 是匹配前面的子表达式一次或多次。
(\.\d{1,2}) 将字符 "." 标记为或特殊字符,\d{1,2} 为匹配一个或两个数字字符。
$ 匹配输入字符串的结束位置。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-4-3 12:30:25 | 显示全部楼层
本帖最后由 isdkz 于 2022-4-3 12:38 编辑

因为 . 在正则表达式中是匹配任意字符,

你想匹配点这个字符的话得转义,用 \.,

还有 ? 是匹配0次或1次,所以匹配小数部分那里不要用 ?,

只限定一个 字符 也没有必要用分组

-?\d+\.\d{1,2}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 21:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表