带小数点的正则表达式

时间:2016-07-27 21:13:43

标签: regex

我正在尝试为可以接受以下内容的输入创建一个模式,但我对正则表达式不是很好。有人可以帮我制作以下值的正则表达式。

1
.25
0.25

2 个答案:

答案 0 :(得分:2)

我猜一个对你有用的表达式是:

^(\.\d+|\d+(?:\.\d+)?)$

|是一个或。
^是字符串的开头。
$是结尾。
\.是文字.
\d是一个数字。
+是一个量词,表示前一个字符/组中的一个或多个。
?使上一组/字符可选。

所以\.\d+.,然后是任意数量的数字。然后\d+(?:\.\d+)?是一个数字,后跟可选的小数值。

正则表达式演示:https://regex101.com/r/uG2tT4/1

根据您使用此修饰符的位置,可能需要m和/或g修饰符。此外,\d可能需要转换为数字字符类[0-9]

答案 1 :(得分:0)

从'通用正则表达式'(所有语言中的所有实现),它将是安全的 \d*\.\d*

这简单地分解为

\d* = Match for 0 or more digits at the beginning
\.  = After that match for a period (notice that we escaped the period.
        Not escaping the period has a different meaning altogether.)
\d* = Match for another set of one or more digits

这旨在简化正则表达式,虽然它可能不是最有效的,特别是如果它适用于大型集合

有关正则表达式的教程,我可以建议RegularExpressions.info或查看Derek Banas关于Youtube上正则表达式的视频教程