/ / Java Regex, ktoré sa zhoduje s písmenom v posledných 3 znakoch znaku dlhého rýchleho kódu - java, regex

Java Regex sa zhoduje s písmenom v posledných troch znakoch znaku s rýchlosťou 11 znakov - java, regex

Práca s celosvetovými kódmi Swift.

Rýchly kód, ktorý hľadám na zápas, je odrody 11 znakov, kde posledné 3 číslice sú alfanumerické (A-Z0-9).

Zhoda by sa mala vyskytnúť vždy, keď sú písmená alebo písmená na posledných troch miestach, na ktoromkoľvek mieste.

Mám iný regulárny výraz, ktorý sa zhoduje s kódmi Swift, kde posledné 3 číslice sú iba čísla. Vyzerá to takto.

Príslušná časť by bola časť [0-9] {3} na konci, ktorá momentálne zasahuje len na čísla.

[A-Z0-9] {3} nebude fungovať správne, pretože sa bude falošne zhodovať s 3 číslami.

Ako by sa regex aktualizoval tak, aby zodpovedal rýchlemu kódu, v ktorom sú písmená alebo písmená prítomné v posledných 3 znakoch kódu s 11 znakmi?

(?:s|u00A0|^)((?:[A-Z]{4}[AD|AE|AF|Ag|AI|AL|AM|AO|AQ|AR|AS|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BL|BM|BN|BO|BQ|BR|BS|BT|BV|BW|BY|BZ|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CW|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EE|EG|EH|ER|ES|ET|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|IO|IQ|IR|IS|IT|JE|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MCMD|ME|MF|MG|MH|MK|ML|MM|MN|MO|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|SS|ST|SV|SX|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TR|TT|TV|TW|TZ|UA|UG|UM|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|YE|YT|ZA|ZM|ZW]{2}[A-Z0-9]{2}[0-9]{3}))(?:s|u00A0|$)

odpovede:

1 pre odpoveď č. 1

Môže to byť skrátenejšia cesta, ale toto by malo urobiť trik pre prispôsobenie 3 alfanumerických znakov na konci, ktoré obsahujú aspoň 1 písmeno.

[A-Z][A-Z0-9]{2}|[A-Z0-9][A-Z][A-Z0-9]|[A-Z0-9]{2}[A-Z]

Môžete to vyskúšať tu, Pozrite si kartu testovania jednotky na ľavej strane.