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