92. Evaluate the following expression using Meta. character for regular expression:@H_404_3@ '[^Ale|ax.r$]'@H_404_3@ Which two matches would be returned by this expression? (Choose two.)@H_404_3@ A. Alex@H_404_3@ B. Alax@H_404_3@ C. Alxer@H_404_3@ D. Alaxendar@H_404_3@ E. Alexender@H_404_3@ Answer: DE@H_404_3@
首先看些Oracle正则表达式语法,正则表达式是在10g才添加进来的,其匹配字符、量词字符、匹配选项、相关函数如下:
@H_404_3@
匹配字符:
@H_404_3@ 字符 |
|
^ |
标记行的开始 |
$ |
标记行的结束 |
= = |
匹配字符族,如:[=a=] 可匹配字符a、â、ã、ä、å等 |
. |
匹配任何字符(除了NULL) |
[:alnum:] |
匹配任何字母和数字 |
[:alpha:] |
匹配任何字母 |
[:blank:] |
匹配空格 |
[:cntrl:] |
匹配任何控制字符(在ASCII码表中不可打印的字符,如ESC键) |
[:digit:] |
任何数字 |
[:graph:] |
任何 标点符号、大小写字母以及数字 |
[:lower:] |
任何小写字母 |
[:print:] |
任何可打印的字符 |
[:punct:] |
任何标点符号,如,.+-=等 |
[:space:] |
任何空白字符,如回车、换行、制表等 |
[:upper:] |
任何大写字母 |
[:xdigit:] |
任何十六进制数字,即0-9A-F |
| |
分隔符 |
() |
子表达式,可作为量词或向后引用的前段 |
[char] |
匹配括号中的任何字符,[^char]表示除开括号中字符后的任何字符 |
@H_404_3@
量词字符:
@H_404_3@
字符 |
|
* |
匹配0次或多次 |
? |
匹配0次或1次 |
+ |
匹配1次或多次 |
{m} |
匹配m次 |
{m,} |
匹配至少m次 |
{m,n} |
匹配至少m次,最多n次 |
\n |
引用第n个匹配 |
匹配选项:
@H_404_3@
字符 |
|
c |
匹配时区分大小写 |
i |
匹配时不区分大小写 |
m |
源字符串为多行匹配 |
n |
.可匹配任何换行符 |