Regex pro pevnou délku řetězce

Re:Regex pro pevnou délku řetězce
« Odpověď #15 kdy: 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.


Re:Regex pro pevnou délku řetězce
« Odpověď #16 kdy: 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 ?

Re:Regex pro pevnou délku řetězce
« Odpověď #17 kdy: 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…

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Regex pro pevnou délku řetězce
« Odpověď #18 kdy: 20. 01. 2023, 23:16:33 »
ChatGPT je lito vse, co mu budete rozporovat, viz priloha, takze bych na to uplne nespolehal.

Re:Regex pro pevnou délku řetězce
« Odpověď #19 kdy: 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.


Re:Regex pro pevnou délku řetězce
« Odpověď #20 kdy: 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 :-)

Re:Regex pro pevnou délku řetězce
« Odpověď #21 kdy: 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 :-)

Re:Regex pro pevnou délku řetězce
« Odpověď #22 kdy: 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 ?

Re:Regex pro pevnou délku řetězce
« Odpověď #23 kdy: 21. 01. 2023, 13:26:44 »
\* nefunguje ?

Na to se ptejte ChatGPT, to ona vypisuje výstup v Markodownu a neescapuje speciální znaky.

Re:Regex pro pevnou délku řetězce
« Odpověď #24 kdy: 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 :-)

Re:Regex pro pevnou délku řetězce
« Odpověď #25 kdy: 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!!!
« Poslední změna: 21. 01. 2023, 15:46:03 od FKoudelka »

Re:Regex pro pevnou délku řetězce
« Odpověď #26 kdy: 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 ?