Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: FKoudelka 20. 01. 2023, 14:44:15

Název: Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 20. 01. 2023, 14:44:15
Zdravím,
mořím se s tím půl dne, poradíte prosím někdo ?
jak bych napsal regex na odchytnuti napr. 361854EA825E3802

Velka písmena i cisla (oboje) Fixni delka 16 jako cele slovo
[A-Z0-9]{16} …. Tohle dává i 16 cisel nebo 16 pismen
Zkousim i toto, ale nefunguje

([A-Z]+[0-9]+|[0-9]+[A-Z]+){16}

Dik moc
Název: Re:Regex dotaz
Přispěvatel: hknmtt 20. 01. 2023, 15:11:10
Tohle dává i 16 cisel nebo 16 pismen

A kde je problem?
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 15:18:41
Tohle dává i 16 cisel nebo 16 pismen

A kde je problem?
Potřebuju mix
Název: Re:Regex dotaz
Přispěvatel: Filip Jirsák 20. 01. 2023, 15:26:53
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: Křestní jméno Příjmení 20. 01. 2023, 15:54:58
echo -e '361854EA825E3802\n1234567890123456\nABCDEFGHIJKLMOPQ\n' | grep -P '(?=[0-9A-Z]{16})(?=.*[A-Z].*)(?=.*[0-9].*)

ale je to rozsireny perlovsky regexp

marek
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 16:25:09
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
Název: Re:Regex dotaz
Přispěvatel: Filip Jirsák 20. 01. 2023, 16:52:16
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
Název: Re:Regex dotaz
Přispěvatel: Filip Jirsák 20. 01. 2023, 17:11:35
Samozřejmě tam místo [A-F] má být [A-Z], nějak jsem se přepnul na představu, že tam mají být jen hexadecimální číslice :)
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 17:36:46
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
dik moc
já nevím , to  by asi znamenalo 16cisel AND 16pismen AND 16znaku , ne ?
proc to ?! a ne ?=
som z toho volaaký zmätený
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 17:44:31
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
dik moc
já nevím , to  by asi znamenalo 16cisel AND 16pismen AND 16znaku , ne ?
proc to ?! a ne ?=
som z toho volaaký zmätený
dává to 16+ znaků
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: hknmtt 20. 01. 2023, 18:13:12
treba tie vysledky potom prefiltrovat, zbytocne riesit vsetko regexom
Název: Re:Regex dotaz
Přispěvatel: Filip Jirsák 20. 01. 2023, 18:37:23
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
dik moc
já nevím , to  by asi znamenalo 16cisel AND 16pismen AND 16znaku , ne ?
proc to ?! a ne ?=
som z toho volaaký zmätený

Ne, vyzkoušejte si to, třeba online na https://regex101.com Akceptuje to text, který je dlouhý právě 16 znaků a skládá se jen z číslic nebo velkých písmen, a zároveň to nejsou jenom číslice nebo jenom písmena (neboli musí tam být písmena i číslice).

(?!…) je tzv. negativní vyhlížení – tj. kurzor jakoby zůstane na místě, ale podívá se dopředu, zda je tam to, co odpovídá výrazu v závorce. U pozitivního vyhlížení by to bylo splněné tehdy, když tam takový text je, u negativního je podmínka splněná, když tam takový text není. Tj. (?![0-9]{16}) se podívá dopředu, zda tam není 16 číslic – když je, tak tahle část nevyhoví. Další skupina se podívá, zda tam není 16 písmen. Když je tam jen šestnáct písmen, tak výraz nevyhoví. A pak se teprve začne kurzor posouvat a 16krát porovná, zda je daný znak číslice nebo písmeno. Když ano, narazí na $, takže už jen zkontroluje, zda je na konci vstupu.
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 19:41:09
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
dik moc
já nevím , to  by asi znamenalo 16cisel AND 16pismen AND 16znaku , ne ?
proc to ?! a ne ?=
som z toho volaaký zmätený

Ne, vyzkoušejte si to, třeba online na https://regex101.com Akceptuje to text, který je dlouhý právě 16 znaků a skládá se jen z číslic nebo velkých písmen, a zároveň to nejsou jenom číslice nebo jenom písmena (neboli musí tam být písmena i číslice).

(?!…) je tzv. negativní vyhlížení – tj. kurzor jakoby zůstane na místě, ale podívá se dopředu, zda je tam to, co odpovídá výrazu v závorce. U pozitivního vyhlížení by to bylo splněné tehdy, když tam takový text je, u negativního je podmínka splněná, když tam takový text není. Tj. (?![0-9]{16}) se podívá dopředu, zda tam není 16 číslic – když je, tak tahle část nevyhoví. Další skupina se podívá, zda tam není 16 písmen. Když je tam jen šestnáct písmen, tak výraz nevyhoví. A pak se teprve začne kurzor posouvat a 16krát porovná, zda je daný znak číslice nebo písmeno. Když ano, narazí na $, takže už jen zkontroluje, zda je na konci vstupu.
super, diky za vysvetleni. regex101 jsem zkousel, ale davalo to 16+. zkuste 361854EA825E3802111 chcete-li
Název: Re:Regex dotaz
Přispěvatel: Filip Jirsák 20. 01. 2023, 19:53:17
super, diky za vysvetleni. regex101 jsem zkousel, ale davalo to 16+. zkuste 361854EA825E3802111 chcete-li
Mně na tenhle vstup regex101.com hlásí, že zadanému regulárnímu výrazu neodpovídá. Teprve když odmažu ty tři jedničky na konci, vstup odpovídá.
Název: Re:Regex dotaz
Přispěvatel: FKoudelka 20. 01. 2023, 20:31:08
Pokud regexp engine, který používáte, podporuje vyhlížení (https://www.root.cz/clanky/regularni-vyrazy-7/), můžete nejprve zkontrolovat, že vstup nejsou jen číslice nebo jen písmena, a pak teprve použít vaši kontrolu. Pokud to nepodporuje, budete si to muset ošetřit přímo v aplikaci, tj. udělat ty testy za sebou dva nebo tři (podle toho, zda „jenom písmena“ a „jenom číslice“ otestujete v jednom nebo dvou krocích).
Dik, zkoušel jsem i toto, /^(?=.*?\d)(?=.*?[A-Z])[A-Z\d]+$/

ale dosud všechny moje pokusy skončily na tom {16}
No to {16} tam určitě musí být, aby to odpovídalo přesně 16 znakům.

Třeba tohle by mělo fungovat, tam kde se používá PCRE: ^(?![0-9]{16})(?![A-F]{16})[0-9A-Z]{16}$
dik moc
já nevím , to  by asi znamenalo 16cisel AND 16pismen AND 16znaku , ne ?
proc to ?! a ne ?=
som z toho volaaký zmätený

Ne, vyzkoušejte si to, třeba online na https://regex101.com Akceptuje to text, který je dlouhý právě 16 znaků a skládá se jen z číslic nebo velkých písmen, a zároveň to nejsou jenom číslice nebo jenom písmena (neboli musí tam být písmena i číslice).

(?!…) je tzv. negativní vyhlížení – tj. kurzor jakoby zůstane na místě, ale podívá se dopředu, zda je tam to, co odpovídá výrazu v závorce. U pozitivního vyhlížení by to bylo splněné tehdy, když tam takový text je, u negativního je podmínka splněná, když tam takový text není. Tj. (?![0-9]{16}) se podívá dopředu, zda tam není 16 číslic – když je, tak tahle část nevyhoví. Další skupina se podívá, zda tam není 16 písmen. Když je tam jen šestnáct písmen, tak výraz nevyhoví. A pak se teprve začne kurzor posouvat a 16krát porovná, zda je daný znak číslice nebo písmeno. Když ano, narazí na $, takže už jen zkontroluje, zda je na konci vstupu.
Mate pravdu , nedal jsem tam ^ $
funguje to, dik moc, jeste musim vyresit okoli toho “slova”
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 20. 01. 2023, 20:44:26
a zde je vysledek:

/\b(?![0-9]{16})(?![A-Z]{16})[0-9A-Z]{16}\b/gm


Diky vsem a jmenovite FJ.
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 20. 01. 2023, 21:32:22
a zde je vysledek:

/\b(?![0-9]{16})(?![A-Z]{16})[0-9A-Z]{16}\b/gm


Diky vsem a jmenovite FJ.

To je fakt humus :-( , neni na to nekde AI generátor ?
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: Filip Jirsák 20. 01. 2023, 23:13:51
Můžete zkusit [url https://chat.openai.com/chat]ChatGPT[/url].

Citace: Filip Jirsák
Vytvoř regulární výraz (PCRE kompatibilní), který bude odpovídat přesně 16 znakům - velkým písmenům nebo číslicím. V textu však musí být písmena i číslice, posloupnost 16 znaků nebo 16 písmen regulárnímu výrazu nevyhoví.

Citace: ChatGPT
^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Má to jenom jednu drobnou vadu – ten RE navržený ChatGPT je blbě  8) Ale ve skutečnosti je problém v tom, že ChatGPT používá Markdown, takže hvězdičky interpretoval ve výstupu jako kurzívu. Po chvilce dohadování RE po částech vysvětlil, a tam už jsou hvězdičky vidět:

Citace: ChatGPT
Tady je upravený regulární výraz, který bude odpovídat řetězci s přesně 16 znaky, který obsahuje alespoň jedno velké písmeno a jednu číslice:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

(?=.*[A-Z]) znamená, že musí existovat alespoň jedno velké písmeno v řetězci
(?=.*[0-9]) znamená, že musí existovat alespoň jedna číslice v řetězci
[A-Z0-9]{16} znamená, že řetězec musí obsahovat přesně 16 znaků, které mohou být velkými písmeny nebo čísly.

Správný RE, když doplním ty Markdownem ztracené hvězdičky, tedy je:

Kód: [Vybrat]
^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{16}$
A to je (také) správně.

Odpověď ChatGPT na upozornění, že mu kvůli Markdownu vypadly hvězdičky:

Citace: ChatGPT
Je mi líto, že jsem to nezkontroloval. Zde je opravený výraz:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Tj. znovu kurzíva.

Myslím, že některé diskuse se zdejšími trolly se ukážou jako výborná škola komunikace s umělou inteligencí ;)

Ale jinak je to zajímavé řešení toho RE, to mne nenapadlo. Akorát je potřeba vyluštit tu hádanku s Markdownem…
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: RDa 20. 01. 2023, 23:16:33
ChatGPT je lito vse, co mu budete rozporovat, viz priloha, takze bych na to uplne nespolehal.
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: Filip Jirsák 20. 01. 2023, 23:32:13
ChatGPT je lito vse, co mu budete rozporovat, viz priloha, takze bych na to uplne nespolehal.

Já vím. A je to pěkný baron Prášil, co neví, to si vymyslí. Klidně si vymyslí paragraf zákona a ještě vám ho odcituje. Nebo když jsem zkoušel vygenerovat nějaký kód, pro klíčovou část – podstatu toho, co jsem chtěl – použil externí knihovnu. Mělo to jednu drobnou vadu – taková knihovna neexistuje.
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: snugar_i 21. 01. 2023, 08:06:13
ChatGPT je lito vse, co mu budete rozporovat, viz priloha, takze bych na to uplne nespolehal.

Já vím. A je to pěkný baron Prášil, co neví, to si vymyslí. Klidně si vymyslí paragraf zákona a ještě vám ho odcituje. Nebo když jsem zkoušel vygenerovat nějaký kód, pro klíčovou část – podstatu toho, co jsem chtěl – použil externí knihovnu. Mělo to jednu drobnou vadu – taková knihovna neexistuje.
Třeba by ji dokázal dodat :-)
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 21. 01. 2023, 10:22:38
Můžete zkusit [url https://chat.openai.com/chat]ChatGPT[/url].

Citace: Filip Jirsák
Vytvoř regulární výraz (PCRE kompatibilní), který bude odpovídat přesně 16 znakům - velkým písmenům nebo číslicím. V textu však musí být písmena i číslice, posloupnost 16 znaků nebo 16 písmen regulárnímu výrazu nevyhoví.

Citace: ChatGPT
^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Má to jenom jednu drobnou vadu – ten RE navržený ChatGPT je blbě  8) Ale ve skutečnosti je problém v tom, že ChatGPT používá Markdown, takže hvězdičky interpretoval ve výstupu jako kurzívu. Po chvilce dohadování RE po částech vysvětlil, a tam už jsou hvězdičky vidět:

Citace: ChatGPT
Tady je upravený regulární výraz, který bude odpovídat řetězci s přesně 16 znaky, který obsahuje alespoň jedno velké písmeno a jednu číslice:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

(?=.*[A-Z]) znamená, že musí existovat alespoň jedno velké písmeno v řetězci
(?=.*[0-9]) znamená, že musí existovat alespoň jedna číslice v řetězci
[A-Z0-9]{16} znamená, že řetězec musí obsahovat přesně 16 znaků, které mohou být velkými písmeny nebo čísly.

Správný RE, když doplním ty Markdownem ztracené hvězdičky, tedy je:

Kód: [Vybrat]
^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{16}$
A to je (také) správně.

Odpověď ChatGPT na upozornění, že mu kvůli Markdownu vypadly hvězdičky:

Citace: ChatGPT
Je mi líto, že jsem to nezkontroloval. Zde je opravený výraz:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Tj. znovu kurzíva.

Myslím, že některé diskuse se zdejšími trolly se ukážou jako výborná škola komunikace s umělou inteligencí ;)

Ale jinak je to zajímavé řešení toho RE, to mne nenapadlo. Akorát je potřeba vyluštit tu hádanku s Markdownem…
Hehe, vy jste teda hračička :-)
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 21. 01. 2023, 12:34:51
Můžete zkusit [url https://chat.openai.com/chat]ChatGPT[/url].

Citace: Filip Jirsák
Vytvoř regulární výraz (PCRE kompatibilní), který bude odpovídat přesně 16 znakům - velkým písmenům nebo číslicím. V textu však musí být písmena i číslice, posloupnost 16 znaků nebo 16 písmen regulárnímu výrazu nevyhoví.

Citace: ChatGPT
^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Má to jenom jednu drobnou vadu – ten RE navržený ChatGPT je blbě  8) Ale ve skutečnosti je problém v tom, že ChatGPT používá Markdown, takže hvězdičky interpretoval ve výstupu jako kurzívu. Po chvilce dohadování RE po částech vysvětlil, a tam už jsou hvězdičky vidět:

Citace: ChatGPT
Tady je upravený regulární výraz, který bude odpovídat řetězci s přesně 16 znaky, který obsahuje alespoň jedno velké písmeno a jednu číslice:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

(?=.*[A-Z]) znamená, že musí existovat alespoň jedno velké písmeno v řetězci
(?=.*[0-9]) znamená, že musí existovat alespoň jedna číslice v řetězci
[A-Z0-9]{16} znamená, že řetězec musí obsahovat přesně 16 znaků, které mohou být velkými písmeny nebo čísly.

Správný RE, když doplním ty Markdownem ztracené hvězdičky, tedy je:

Kód: [Vybrat]
^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{16}$
A to je (také) správně.

Odpověď ChatGPT na upozornění, že mu kvůli Markdownu vypadly hvězdičky:

Citace: ChatGPT
Je mi líto, že jsem to nezkontroloval. Zde je opravený výraz:

^(?=.[A-Z])(?=.[0-9])[A-Z0-9]{16}$

Tj. znovu kurzíva.

Myslím, že některé diskuse se zdejšími trolly se ukážou jako výborná škola komunikace s umělou inteligencí ;)

Ale jinak je to zajímavé řešení toho RE, to mne nenapadlo. Akorát je potřeba vyluštit tu hádanku s Markdownem…

\* nefunguje ?
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: Filip Jirsák 21. 01. 2023, 13:26:44
\* nefunguje ?

Na to se ptejte ChatGPT, to ona vypisuje výstup v Markodownu a neescapuje speciální znaky.
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 21. 01. 2023, 15:32:00
\* nefunguje ?

Na to se ptejte ChatGPT, to ona vypisuje výstup v Markodownu a neescapuje speciální znaky.
Aha,jasně. zeptám se :-)
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 21. 01. 2023, 15:43:48
Můžete zkusit [url https://chat.openai.com/chat]ChatGPT[/url].

Citace: Filip Jirsák
Vytvoř regulární výraz (PCRE kompatibilní), který bude odpovídat přesně 16 znakům - velkým písmenům nebo číslicím. V textu však musí být písmena i číslice, posloupnost 16 znaků nebo 16 písmen regulárnímu výrazu nevyhoví.

Správný RE, když doplním ty Markdownem ztracené hvězdičky, tedy je:

Kód: [Vybrat]
^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{16}$

Vzal jsem vaše zadání úkolu doslovně, prohnal to přes Deepl a https://www.autoregex.xyz/
a koukejte, co z toho vypadlo
^(?=.*[A-Z])(?=.*[0-9])[A-Z0-9]{16}$

Paráda!!!
Název: Re:Regex pro pevnou délku řetězce
Přispěvatel: FKoudelka 21. 01. 2023, 15:53:36
\* nefunguje ?

Na to se ptejte ChatGPT, to ona vypisuje výstup v Markodownu a neescapuje speciální znaky.
Dal jsem na chatGPT taky to vaše zadání přeložené deepl do angličtiny, výsledek stejný jako z češtiny, ale všiml jste si, že on tam ty hvězdičky vygeneruje a pak skryje ?