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, ...)":
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)
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)
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)
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)
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)
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)
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)
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.
Žádné komentáře:
Okomentovat