Javascript regexp表达式,匹配带有可选小数位的字符串中的两个数字

时间:2014-02-06 03:58:23

标签: javascript regex

我如何修改以下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

2 个答案:

答案 0 :(得分:3)

试试这个:

/(\d+(?:\.\d+)?).+?(\d+(?:\.\d+)?)/

这将匹配一个或多个小数,后跟一个可选的小数点和一个或多个小数,在组1中捕获,后跟一个或多个任何字符,非贪婪,后跟一个或多个小数后跟一个可选在组2中捕获的小数点和一个或多个小数。

Demonstration

此外,如果您想在匹配的字符串之前或之后阻止任何其他字符,您可能需要添加一个开头(^)和结束($)锚点:

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

答案 1 :(得分:1)

/\d+(\.\d+)? of \d+(\.\d+)?/
  1. \d+至少一位数字
  2. 带有可选小数的
  3. (\.\d+)?
  4. of这两个数字之间的字符串
  5. \d+后跟至少一位数字
  6. 带有可选小数的
  7. \d+