我缺乏正则表达式的经验,我需要一些帮助。 我需要提取一个git标签。输入字符串是这样的:
6dde3d91f23bff5ab81e91838f19f306b33fe7a8refs/tags/3.4.2
// there is a new line at the end of the string
我需要的字符串部分是3.4.2
。这是我的代码:
var pattern = /.*([0-9]{1}\.{1}[0-9]{1}\.{1}[0-9]{1}).*/ig;
var match = pattern.exec(string);
// match[1] gets what I need
它有效,但这个正则表达式非常长,必须有一种方法可以缩短它。有人可以帮帮我吗?
由于
答案 0 :(得分:3)
答案 1 :(得分:1)
不需要正则表达式,只需拆分字符串。
var tag ="6dde3d91f23bff5ab81e91838f19f306b33fe7a8refs/tags/3.4.2";
console.log(tag.split('/')[2]); // results in 3.4.2
答案 2 :(得分:0)
{1}
隐含在每个语句中。拿出来会缩短你的表达。
j08691's answer是正确的事情:只是将它拆分。
答案 3 :(得分:0)
答案 4 :(得分:0)
这是最短的一个>>
<强> [0-9。] + $ 强>