如何在正则表达式中找到2个匹配项

时间:2018-11-18 21:06:35

标签: javascript

我需要一个正则表达式:

<<12.txt>> <<45.txt>

我创建了一个正则表达式:

<<.+.txt>>

但这在整个字符串中找到了一个匹配项,但是这里有2个匹配项:

  • <<12.txt>>
  • <<45.txt>>

如果有人有解决此问题的方法,请帮助我

2 个答案:

答案 0 :(得分:1)

部分问题是您指定的字符串不匹配,因为>中缺少第二个<<45.txt>

此外,您正在使用.(点)选择器,还试图查找句点。它有效,但是现在您的想法如何。

这是您想要的正则表达式:

var regex = /<<\d+\.txt>>/g

\d仅匹配数字

\.匹配实际时间段

/g表示全局,因此不会在第一场比赛中停止

练习正则表达式

https://regexr.com/43bs4

演示

var string = "<<12.txt>> <<45.txt>>";
var regex = /<<\d+\.txt>>/g;
var matches = string.match(regex);

console.log(matches);

P.S。,如果您实际上想与1个>或2个>>匹配,则可以:

var regex = /<<\d+\.txt>>?/g

?可以选择匹配字符前面的字符

答案 1 :(得分:0)

class Person implements IPerson {}

g用于全局(将搜索整个源)

m用于多行搜索支持