regex - 正则表达式范围,包括 -100 和 100 之间的负十进制数,包括但不要求 2 个小数点
问题描述
我需要一些帮助来提出一个允许 -100 和 100 之间的十进制值的正则表达式。它最多可以有两位小数,但不应该要求小数。
我有这个基于这个问题的 0 - 100: Regex range between 0 and 100 include two decimal
^(?:100(?:\.00?)?|\d?\d(?:\.\d\d?)?)$
解决方案
你可以试试这个表达式:
/^-?(?:100|[0-9]{1,2})(?:\.[0-9]{1,2})?$/gm
^
在行首断言位置-?
从字面上匹配字符-
(区分大小写)?
量词 - 匹配 0 和 1 次,尽可能多次,根据需要回馈(贪婪)(否定是可选的)
- 非捕获组
(?:100|[0-9]{1,2})
(百名以下)- 第一个替代字面
100
匹配字符100
(区分大小写) - 2nd Alternative
[0-9]{1,2}
匹配列表中存在的单个字符[0-9]
{1,2}
量词 - 匹配 1 到 2 次,尽可能多次,根据需要回馈(贪婪)0-9
0 到 9 之间的单个字符(区分大小写)
- 第一个替代字面
- 非捕获组
(?:\.[0-9]{1,2})?
(不需要小数)?
量词 - 匹配 0 到 1 次,尽可能多次,根据需要回馈(贪婪)\.
从字面上匹配字符.
(区分大小写)[0-9]{1,2}
匹配列表中存在的单个字符[0-9]
{1,2}
量词 - 匹配 1 到 2 次,尽可能多次,根据需要回馈(贪婪)0-9
0 到 9 之间的单个字符(区分大小写)
$
在行尾断言位置
全局模式修饰符/标志:
g
: 全球的。所有比赛(第一场比赛后不返回)m
: 多行。导致 ^ 和 $ 匹配每行的开始/结束(不仅是字符串的开始/结束)
推荐阅读
- php - 如何在最小和最大预算范围内编写接收有关一位制片人电影数据的请求
- python - 使用 spacy 从文档中删除复合词命名实体
- java - Jar 文件可在 Windows 上运行,但不能在 Ubuntu 上运行(JDK 1.8,使用 NetBeans 编译)
- c# - 如何在泛型方法中传递继承类型
- java - Spring WS - EndpointInterceptor 未调用
- php - 如何逐行读取和更新表格sql和php?
- javascript - Node express 服务器仅对 localhost 使用中间件
- c# - Xamarin.Forms 内存泄漏;GC 没有收集所有东西
- r - 如何在R中为一次一个逻辑回归制作循环?
- python - 在python中查找可以由字符串组成的单词