我正在努力强迫符合以下条件:
输入:
ME001000 RV 2 B
ME001000 G 10 B
ME001000 RE 321 B
MP260000 EQTE 1 A
EL008002P TR 06 A 1 NOT匹配,因为它在字符串的中间
正则表达式模式:([0-9]{1} [A-Z]{1}|[0-9]{2} [A-Z]{1}|[0-9]{3} [A-Z]{1})+(?:[0-9]{2} [A-Z]{1}\s)
Part:([0-9]{1} [A-Z]{1}|[0-9]{2} [A-Z]{1}|[0-9]{3} [A-Z]{1})
:正确匹配,但也与“ 06 A”(最后一个字符串的中间)匹配
Part:+(?:[0-9]{2} [A-Z]{1}\s)
:为了强制不匹配
我需要做什么以强制不匹配?
/\d{1,3}\s[A-Z]$/gm
似乎很直接。匹配1-3位数字,然后在EOL处加上一个空格和一个大写字母。
const s = `
ME001000 RV 2 B
ME001000 G 10 B
ME001000 RE 321 B
MP260000 EQTE 1 A
EL008002P TR 06 A 1
`;
console.log([...s.matchAll(/\d{1,3}\s[A-Z]$/gm)]);