我有一个匹配不同数量单词的正则表达式
var re = new RegExp(/^0\s\d{1,2}\.\d{1,2}\.\d{2,4}\s\w+(?:\s+\w+){1,10}\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})$/g);
正在使用的正则结果如下所示
0 29.09.16 ISSUED FOR APPROVAL AND REVIEW MH SB CS MT
正则表达式不适用于以下句子
0 29.09.16 ISSUED FOR APPROVAL AND REVIEW MHW SB CS MT
0 29.09.16 ISSUED FOR APPROVAL AND REVIEW M.H.W SB CS MT
0 29.09.16 ISSUED FOR APPROVAL AND REVIEW M.HBE SB CS MT
我认为问题在于最后四组首字母可能包括也可能不包括句号
任何有关修改最后四组不同首字母的正则表达式的帮助都将非常受欢迎。
答案 0 :(得分:0)
您可以尝试:/0\s\d{2}\.\d{2}\.\d{2}\s[A-z ]+\s([\.A-Z]{2,5})\s([A-Z]{2})\s([A-Z]{2})\s([A-Z]{2})/g
。
在此处查看:https://regex101.com/r/22Nj9N/1
基本上,你的表达式只需要最后4组的2个字符。所以我还将.
添加到接受的匹配中,最多添加5个字符。