【发布时间】:2015-03-19 10:18:49
【问题描述】:
我正在尝试创建一个满足以下条件的正则表达式:
一个或两个或三个十进制数。
十进制数内没有前导零。
精度 2。
允许正确的分数(0.__ 个数字)。
小数点前无文字
正则表达式应匹配以下内容:
- 123.45
- 103.67
- 100.45
- 25.68
- 5.97
- 1.05
- 23.07
- 187.08
- 0.26
正则表达式不应与以下内容匹配:
- .45
- 1234.45
- 023.45
- 03.67
- 845.7
我想出了以下正则表达式:
(?<!.)^([1-9][0-9]{0,2}\.[0-9][0-9])$
它满足上述所有除了部分。
如果十进制数有 2 位或 3 位数字,我不想要前导零。但是,如果它是正确的分数,我确实希望允许 0.__)。
但是,我的正则表达式与“0.__”十进制数字不匹配,因为由于“^[1-9]”,它希望数字以 1 开头。
请告知我如何修改我的正则表达式以匹配“0.__”数字。
【问题讨论】:
-
“一个两位或三位十进制数”是什么意思?或者更确切地说,它如何与“精度 2”相匹配?
-
@Qwerty
(?<!.)应该达到什么目的?