所以我试图编写一个可以匹配以下场景的正则表达式。
12.1234 = match
112.12345678901 = wont match
1287729918192.123 = match
123927678281818.19883748383839 = won't match
23.1829aga = won't match
1722ahh.98822 = won't match
1.#$122 = won't match
基本上它应该只匹配不包含字母或特殊字符的字符串以及小于10位小数的值。
我对正则表达式真的很陌生,我不知道如何做到这一点。
感谢您的帮助!
答案 0 :(得分:3)
写简单的正则表达式:
基本上,您的模式可以这样描述:
我们只是将上述说明翻译成正则表达式:
^
\d+
\.
\d{1,10}
$
结合所有这些:
^\d+\.\d{1,10}$
答案 1 :(得分:0)
试试这个:
/^[0-9]*[.]{0,1}[0-9]{1,10}$/
解释如下:
- ^断言字符串开头的位置
- [0-9] *随时匹配0(索引48)和9(索引57)之间范围内的单个字符
- [。] {0,1}匹配单个字符。最多一次
- [0-9] {1,10}匹配1到10次,单个字符在0(索引48)和9(索引57)之间的范围内
答案 2 :(得分:0)
这应该有效:
^\d*\.\d{1,10}\s
稍微解构一下:
我建议你看一下https://regexone.com/。一个很好的资源,可以帮助您了解正则表达式的工作原理,它对我帮助很大!