我有一个正则表达式,我认为是正确的工作,直到现在。我需要匹配一个可选的字符。它可能在那里,也可能不在。
这里有两个字符串。上面的字符串匹配,下面的字符串不匹配。在较低的字符串中缺少一个字母是导致它失败的原因。
我想在开始的5位数字后得到单个字母,如果它在那里,如果不是,继续得到其余的字符串。这个字母可以是A-Z
。
如果我从正则表达式中删除([A-Z]{1}) +.*? +
,它将匹配除字母以外的所有我需要的东西,但这有点重要。
20000 K Q511195DREWBT E00078748521
30000 K601220PLOPOH Z00054878524
这是我使用的正则表达式。
/^([0-9]{5})+.*? ([A-Z]{1}) +.*? +([A-Z]{1})([0-9]{3})([0-9]{3})([A-Z]{3})([A-Z]{3}) +([A-Z])[0-9]{3}([0-9]{4})([0-9]{2})([0-9]{2})/