Jak awk používá funkce s regulárními výrazy

 

V awk existuje několik funkcí, které pracují s regulárními výrazy. Zde je jejich syntaxe ve formátu "return typ = name(typ arg1, typ arg2, ...)":

  1. match() - Hledá shodu regulárního výrazu v řetězci a vrací pozici první shody nebo 0, pokud není nalezena žádná shoda. Syntaxe: return int = match(string, regexp)

  2. split() - Rozděluje řetězec na pole na základě regulárního výrazu a oddělovače a vrací počet prvků vytvořeného pole. Syntaxe: return int = split(string, array, regexp)

  3. gsub() - Nahrazuje všechny výskyty regulárního výrazu v řetězci jiným řetězcem a vrací počet provedených nahrazení. Syntaxe: return int = gsub(regexp, replacement, target)

  4. sub() - Nahrazuje první výskyt regulárního výrazu v řetězci jiným řetězcem a vrací počet provedených nahrazení. Syntaxe: return int = sub(regexp, replacement, target)

  5. gensub() - Nahrazuje všechny výskyty regulárního výrazu v řetězci jiným řetězcem a vrací upravený řetězec. Umožňuje také odkazovat na zachycené skupiny ve výrazu. Syntaxe: return string = gensub(regexp, replacement, how, target)

  6. index() - Vrací pozici první shody regulárního výrazu v řetězci nebo 0, pokud shoda není nalezena. Syntaxe: return int = index(string, regexp)

  7. match() (opět) - Hledá shodu regulárního výrazu v řetězci a vrací obsah zachycených skupin. Syntaxe: return int = match(string, regexp, array)

  8. patsplit() - Rozděluje řetězec na pole na základě regulárního výrazu a vrací počet prvků vytvořeného pole. Ukládá shody a zachycené skupiny do zadaného pole. Syntaxe: return int = patsplit(string, array, regexp, seps, opts)

Všimněte si, že návratový typ není v awk explicitně deklarován, protože awk je dynamicky typovaný jazyk. Výsledek funkcí může být celočíselný (int) nebo řetězcový (string), v závislosti na konkrétní funkci.

Komentáře

Oblíbené příspěvky