正则表达式:使用javascript从字符串中获取数字n.n.n?

时间:2016-03-11 14:24:06

标签: javascript regex node.js

我想从字符串中获取数字,即1.0.3。我只想要用两个点格式化的数字,并在它们之前使用ver#。我的正则表达式实现是否正确。这是工作,但它会在任何条件下失败吗?

var str = "https://example.x.y.com/z/ver#1.5.0"; 
var res = str.match(/ver#.\.(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)/g);
return res;

https://jsfiddle.net/tthfkzjt/

1 个答案:

答案 0 :(得分:1)

  

我想从字符串中获取数字,即1.0.3。我只想要用两个点格式化的数字,并且在它们之前有ver#

这可以通过简单的正则表达式完成:/ver#(\d+\.\d+\.\d+)/

使用\1$1捕获第一个群组。

Regex101 Demo

JS Fiddle

var str = "https://example.x.y.com/z/ver#1.5.0"; 
var res = str.match(/ver#(\d+\.\d+\.\d+)/);
document.getElementById("res").innerHTML = res ? res[1] : "";
<div id="res"/>