Pomocí regulárních výrazů definujeme vzory hledání pro řetězce. Vzor může být jediný znak, přesný řetězec, nebo složitý výraz obsahující speciální znaky.
Regulární výraz | Popis |
. | Jakýkoliv znak |
* | Výskyt 0 nebo vícekrát |
+ | Výskyt 1 nebo vícekrát |
? | Výskyt 0 nebo jedenkrát |
^ | Začátek řádky (^A – začátek řádku musí začínat na A) |
$ | Konec řádky (z$ – řádek musí končit na z) |
[] | Definice možných výskytů ([123] – obsahuje 1, 2 nebo 3) |
{} | Počet možných výskytů ({5,7} – vyskytuje se alespoň 5x a maximálně 7x) |
() | Seskupení výrazů |
| | Nebo (a|b – a nebo b) |
?! | Negace (a?!b – a pokud není následováno b) |
(?i) | Regulární výraz není citlivý na malá a velká písmena (pozor na písmena s diakritikou) |
\d | Jakékoliv číslo |
\D | Cokoliv kromě čísla |
\s | Jakýkoliv bílý znak |
\S | Cokoliv kromě bílých znaků |
\w | Písmeno, číslice nebo podtržítko |
\W | Cokoliv kromě písmena, číslice nebo podtržítka |
Java String má následující metody, které jako parametr mají regulární výraz:
string.matches("regex") string.split("regex") string.replaceFirst("regex", "replacement") string.replaceAll("regex", "replacement")
Pro pokročilejší práci s regulárními výrazy se používají třídy Pattern a Matcher.
final String text = "Nějaký text"; final String regex = "Regulární výraz"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(text); matcher.find()