select 'hello world' regexp '^(?!hello).*'
select regexp_extract('hello world', '( )(.*)', 2)
select 'hello world' regexp 'hello';
i : ignore,不区分大小写
g:global,全局匹配
m:multi line,多行匹配
s:使用 . 时包含换行符 \n
/hello./gmis
元字符
±?.
正向肯定预查
(?=pattern)
正向否定预查
(?!pattern)
反向肯定预查
(?<=pattern)
反向否定预查
(?<!pattern)
. - 除换行符以外的所有字符。^ - 字符串开头。$ - 字符串结尾。\d,\w,\s - 匹配数字、字符、空格。\D,\W,\S - 匹配非数字、非字符、非空格。[abc] - 匹配 a、b 或 c 中的一个字母。[a-z] - 匹配 a 到 z 中的一个字母。[^abc] - 匹配除了 a、b 或 c 中的其他字母。aa|bb - 匹配 aa 或 bb。? - 0 次或 1 次匹配。* - 匹配 0 次或多次。+ - 匹配 1 次或多次。{n} - 匹配 n次。{n,} - 匹配 n次以上。{m,n} - 最少 m 次,最多 n 次匹配。(expr) - 捕获 expr 子模式,以 \1 使用它。(?:expr) - 忽略捕获的子模式。(?=expr) - 正向预查模式 expr。(?!expr) - 负向预查模式 expr。