Ahoj všem,
prosím o pomoc ošetřit, aby RE fungoval i v určitých případech.
Funkční případ:
- Zadání: 1;2;3;4;5;6;7;8;9
- Výraz: (;[^;]*){3}$
- Výsledek: ;7;8;9
Nefunkční případ (když končí středníkem):
- Zadání: 1;2;3;4;5;6;7;8;9;
- Výraz: (;[^;]*){3}$
- Výsledek: ;8;9;
Nefunkční případ (když celkový počet prvků je menší než požadovaný počet):
- Zadání: 1;2;3;4;5;6;7;8;9
- Výraz: (;[^;]*){20000000}$
- Výsledek: ERROR
Prosím tedy info, jak by se dalo ty dva nefunkční případy ošetřit:
- Pokud by řetězec končil středníkem (ale nemusí tak končit). Hádám, že by se dalo preventivně koncový středník oříznout a dostat to tak do korektní podoby bez středníků, je tam totiž nadbytečný.
- Pokud by řetězec < N, kde N je počet požadovaných prvků od konce, tak to vrátí jen tolik prvků, kolik je k dispozici.
Díky moc všem, co mají na ty moje RE ještě nervy, tohle je poslední věc, co my zbývá řešit.