i modifier: insensitive. Matches without distinguishing uppercase and lowercase letters
u modifier: unicode. Treats the pattern and subject as UTF-16
x modifier: extended. Ignores unescaped whitespace and comments outside character classes
g modifier: global. Finds all matches instead of stopping after the first