NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.
Funkce, kterou se snažíš použít je dostupná pouze pro registrované uživatele. Buďto se přihlas nebo si zdarma vytvoř nový účet.

Revgex

Knihovna a program pro generování náhodných testovacích dat pomocí "jazyka" nápadně podobného regulárním výrazům.

Na projektu pracuji sám, napsán je v C# za použití Windows Forms.

Projekt využívá FastColoredTex­tBox komponentu.

Popis jazyka

Základ jazyka je podobný regulárním výrazům

  • nerezervovaný znak (nebo rezervovaný který je předcházen zpětným lomítkem) -> vypsán na výstup
  • [abc123] -> vypsán náhodný znak z výběru, možno používat i intervaly - např. a-z
  • \d, \s apod. -> kategorie znaků (možno použít i uvnitř []): \d jsou číslice, \s bílé znaky, \w písmena, číslice a _, velkým pístenem se značí opak (např. \D -> cokoli kromě číslic)
  • () -> skupina, může začínat výrazem ve tvaru :název; - tedy (:název; kód ) -> takto lze skupinu pojmenovat
  • * -> náhodný počet opakování, horní limit je zadán v aplikaci ("Repetition limit"), častěji generuje méně opakování
  • + -> jako *, ale vždy vygeneruje alespoň 1 výskyt
  • {n} -> n výskytů
  • {n,} -> alespoň n výskytů
  • {n,m} -> alespoň n, nejvýše m výskytů
  • (abc|012) -> znak '|' odděluje možnosti, z možností va dané skupině se náhodně vybere
  • . -> libovolný znak
  • \01 -> zpětná reference na 1. skupinu
  • \:název; -> zpětná reference na skupinu s daným názvem
  • $01 -> zpětná reference na 1. skupinu, namísto generování použije naposledy vygenerovanou hodnotu
  • $:název; -> zpětná reference na skupinu s daným názvem, namísto generování použije naposledy vygenerovanou hodnotu

Pozn.: rekurze není povolená

Další syntaxe

  • (!x kód ) -> modifikuje vše co je generováno jejím obsahem na základě znaku za vykřičníkem
U převod na velká písmena
l převod na malá písmena
C velká písmena na začátku slov
_ nahradí mezery a pomlčky za podtržítka
' ' nahradí pomlčky a podtržítka za mezery
- nahradí mezery a podtržítka za pomlčky
n odstraní mezery
t odebere bílé znaky ze začátku a konce
0 odebere nuly ze začátku
! výstup kódu je skryt - možno použít jako komentář nebo pro defiince skupin které mají být použity později
  • (?: kód ) -> na skupinu nelze zpětně odkazovat, v číslování skupin je ignorována
  • (" oddělovač ; opakování kód ) -> generuje pomocí kódu tolikrát, kolik je dáno opakováním, vygenerovaté výrazy oddělí oddělovačem, např. (",\ ;{5} \d{2} )
  • (' oddělovač ; opakování kód ) -> jako s dvojitými uvozovkami, ale generuje pouze jeden výraz a ten opakuje

Poznámky k aplikaci

  • volby pro ignorování bílých znaků v aplikaci jsou zde pro umožnění formátování "kódu". Pokud má být bílý znak přeci jen vygenerován, stačí použít zpětné lomítko ("\ " pro mezeru, "\n" pro konec řádky)
  • Filtr umožňuje filtrovat vygenerované texty na základě regulárního výrazu
  • knihovna generuje pouze ASCII znaky
  • aplikace umožňuje uložit výstup do souboru

Vyjádření poroty

  • Dan Vítek - 9 bodů - Super aplikace, osobně jsem něco takového už nějakou dobu hledal. Funguje dobře, reálně mi tam chyběl nějaký, alespoň základní, syntax highlighting. Stačilo by, aby oddělil barevně skupiny, makra a další fce od textu.
  • Adam Ježek - 10 bodů - Dobrý nápad, aplikace funkční, dovedu si představit její využití, v GUI nejsou žádné nepotřebné grafické prvky.

V následujícím cvičení, Cvičení 1 - Spojování textu, si procvičíme nabyté zkušenosti z předchozích lekcí.


Galerie

Program byl vytvořen v roce 2018.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 14x (1.26 MB)
Aplikace je včetně zdrojových kódů v jazyce C#

 

Všechny články v sekci
Zdrojákoviště C# .NET - Okenní aplikace Windows Forms
Přeskočit článek
(nedoporučujeme)
Cvičení 1 - Spojování textu
Program pro vás napsal Zdeněk Pavlátka
Avatar
Uživatelské hodnocení:
2 hlasů
Autor se věnuje spoustě zajímavých věcí ze světa informatiky a grafiky
Aktivity