请问一道Oracle里的正则表达式题目

请教一道Oracle里的正则表达式题目
select
regexp_substr('AlxBB.W$Sn|Per','[^Ale|ax.r$]') sub
from dual
/

(ˇˍˇ) 想不头通,以上sql语句的结果如下

S
-
B

请高手赐教!!
------解决方案--------------------

select regexp_substr('AlxBB.W$Sn
------解决方案--------------------
Per','[^Ale
------解决方案--------------------
ax.r$]') sub from dual;
S
-
B


原因:regexp_substr(字符串,匹配的字符串,起始位置,匹配的第几个字符) 有四个参数,后面两个默认是1

 因此查找【'AlxBB.W$Sn