正则表达式在四组首字母后结束比赛

时间:2017-07-04 23:14:13

标签: regex

我有一个带有变体的正则表达式,该变体在javascript代码中用于一起查找单词,如下所示:

var re = new RegExp(firstWord+"\\s\\d{1,2}\\.\\d{1,2}\\.\\d{2,4}\\s\\w+(?:\\s+\\w+){1,8}\\s([A-Z]{2,5})\\s([A-Z]{2,5})\\s([A-Z]{2,5})\\s([A-Z]{2,5})");

匹配的结果如下:

0 17.07.17批准建设SB SB GM TW DA MEA,GM,TW,DA,MEA

正则表达式匹配,但最后包含额外的字符。在这个例子中,它是DA MEA,GM,TW,DA,MEA

有人可以建议如何在四组首字母缩写后修改正则表达式以结束匹配吗?

1 个答案:

答案 0 :(得分:1)

这是一个正则表达式,可以匹配并从输入中捕获 DA MEA,GM,TW,DA,MEA

  

0 17.07.17批准建设SB SB GM TW DA MEA,GM,TW,DA,MEA

this

修改

根据我的理解你真正想要匹配的是第一部分,这里是正则表达式的修改版本,忽略字符串的最后部分。

\d\s\d{2}\.\d{2}\.\d{2}\s(?:.*?)(?:\s[a-zA-z]{2}){4}\s(.*)

这将匹配

\d\s\d{2}\.\d{2}\.\d{2}\s(?:.*?)(?:\s[a-zA-z]{2}){4}