. any char (except newline)\d \w \s digit, word, whitespace\D \W \S non- digit, word, whitespace^ $ start, end of line/string\b word boundary[abc] character set[^abc] negated set[a-z] rangea* 0+, greedya+ 1+, greedya? optionala*? lazy varianta{n,m} n to m times(abc) capture group(?:abc) non-capture group(?<name>abc) named groupa|b alternation(?=abc) positive lookahead(?!abc) negative lookahead(?<=abc) positive lookbehind