MaxCompute SQL 中的正则表达式采用的是 PCRE 的规范,匹配时是按字符进行,支持的元字符如下所示:
元字符 | 说明 |
^ | 行首 |
$ | 行尾 |
. | 任意字符 |
* | 匹配零次或多次 |
+ | 匹配1次或多次 |
? | 匹配零次或1次 |
? | 匹配修饰符,当该字符紧跟在任何一个其他限制符 (* ,+, ?, {n}, {n,}, {n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串, 而默认的贪婪模式则尽可能多的匹配所搜索的字符串。 |
A|B | A或B |
(abc)* | 匹配abc序列零次或多次 |
{n}或{m,n} | 匹配的次数 |
[ab] | 匹配括号中的任一字符,例中模式匹配a或b |
[a-d] | 匹配a,b,c,d任一字符 |
[^ab] | ^表示非,匹配任一非a非 b的字符 |
[::] | 见下表POSIX字符组 |
\ | 转义符 |
\n | n为数字1-9,后向引用 |
\d | 数字 |
\D | 非数字 |
POSIX字符组 | 说明 | 范围 |
[[:alnum:]] | 字母字符和数字字符 | [a-zA-Z0-9] |
[[:alpha:]] | 字母 | [a-zA-Z] |
[[:ascii:]] | ASCII字符 | [\x00-\x7F] |
[[:blank:]] | 空格字符和制表符 | [ \t] |
[[:cntrl:]] | 控制字符 | [\x00-\x1F\x7F] |
[[:digit:]] | 数字字符 | [0-9] |
[[:graph:]] | 空白字符之外的字符 | [\x21-\x7E] |
[[:lower:]] | 小写字母字符 | [a-z] |
[[:print:]] | [:graph:]和空白字符 | [\x20-\x7E] |
[[:punct:]] | 标点符号 | [][!”#$%&’()*+,./:;<=>? @\^_`{|}~-] |
[[:space:]] | 空白字符 | [ \t\r\n\v\f] |
[[:upper:]] | 大写字母字符 | [A-Z] |
[[:xdigit:]] | 十六进制字符 | [A-Fa-f0-9] |
注意:
在 MaxCompute SQL 中写a\\b, 而在输出结果中显示a\b,同样是因为 MaxCompute 会对表达式进行转义。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
[203] :api鉴权失败