これまでは正常に動作していたと思っていた正規表現があります。オプションの文字で一致する必要があります。そこにある場合とない場合があります。
ここに2つの文字列があります。上の文字列は一致しますが、下の文字列は一致しません。下の文字列に単一の文字がないことは、それを失敗させています。
最初の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})/