Şimdiye kadar doğru çalıştığını düşündüğüm bir regex var. İsteğe bağlı bir karakterle eşleşmem gerekiyor. Orada olabilir ya da olmayabilir.
İşte iki dize. Üst dize, alt dize eşleşmez. Alt dizede tek bir harf bulunmaması, onu başarısız kılan şeydir.
Eğer varsa 5 rakamdan sonra tek harfi almak istiyorum ve eğer değilse, dizenin geri kalanını almaya devam edin. Bu mektup olabilir A-Z
.
([A-Z]{1}) +.*? +
Normal ifadeden kaldırırsam , mektup dışında ihtiyacım olan her şeyle eşleşir, ancak önemli.
20000 K Q511195DREWBT E00078748521
30000 K601220PLOPOH Z00054878524
İşte kullandığım normal ifade.
/^([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})/