我如何修改以下javascript regexp以便它匹配所有正在进行的模式?
/(\d\d).+?(\d\d)/
2 of 5
2.5 of 5.6
2.3 of 10
100.4 of 1000
1000.4 of 10000.3
答案 0 :(得分:3)
试试这个:
/(\d+(?:\.\d+)?).+?(\d+(?:\.\d+)?)/
这将匹配一个或多个小数,后跟一个可选的小数点和一个或多个小数,在组1中捕获,后跟一个或多个任何字符,非贪婪,后跟一个或多个小数后跟一个可选在组2中捕获的小数点和一个或多个小数。
此外,如果您想在匹配的字符串之前或之后阻止任何其他字符,您可能需要添加一个开头(^
)和结束($
)锚点:
/^(\d+(?:\.\d+)?).+?(\d+(?:\.\d+)?)$/
答案 1 :(得分:1)
/\d+(\.\d+)? of \d+(\.\d+)?/
\d+
至少一位数字(\.\d+)?
of
这两个数字之间的字符串\d+
后跟至少一位数字\d+