正则表达式如何匹配可选字符

我有一个正则表达式,我以为到目前为止可以正常工作。我需要匹配一个可选字符。它可能在那里或可能不在那里。


这是两个字符串。顶部的字符串匹配,而下部的字符串不匹配。在下部字符串中没有单个字母的原因是它失败了。


我希望在开头的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})/


子衿沉夜
浏览 826回答 3
3回答

冉冉说

您还必须将单个字母标记为可选:([A-Z]{1})? +.*? +或将整个部分设为可选(([A-Z]{1}) +.*? +)?
打开App,查看更多内容
随时随地看视频慕课网APP