时间:2021-07-01 10:21:17 帮助过:56人阅读
  方括号表达示
| 方括号表达式 | 描述 | 
| [[:alnum:]] | 字母和数字混合的字符 | 
| [[:alpha:]] | 字母字符 | 
| [[:cntrl:]] | 控制字符 | 
| [[:digit:]] | 数字字符 | 
| [[:graph:]] | 图像字符 | 
| [[:lower:]] | 小写字母字符 | 
| [[:print:]] | 打印字符 | 
| [[:punct:]] | 标点符号字符 | 
| [[:space:]] | 空格字符 | 
| [[:upper:]] | 大写字母字符 | 
| [[:xdigit:]] | 十六进制数字字符 | 
l        元字符
| 元字符 | 描述 | 
| *? | 如果有前面字符串的0次以上出现时匹配 | 
| +? | 如果有前面字符串的1次以上出现时匹配 | 
| {m} | m是整数。它文本中找出给定子表达式的恰好m次出现 | 
| {n}? | 前面的字符串只出现一次时匹配 | 
| {m,} | m是整数。它在文本中找出给定子表达示的至少m次出现 | 
| {n,}? | 匹配前面的字符串至少n次 | 
| {m,n} | m和n是整数。它在文本中找出给定子表达示的m到n次出现 | 
| {n,m} | 匹配前面的字符串至少到n次,但不多于m次 | 
| c | 查询操作区分大小写 | 
| i | 查询操作不区分大水写 | 
| m | 多行字符串上的查询,在源字符串包含多行时,该查询允许用(^)模式匹配字符串的开始 | 
| n | 通常匹配单个字符,也可以匹配新行 | 
| x | 需要忽略正则表达示中的空格字符时,使用参数‘x’ | 
| a | 匹配字符串首,而不是行首,因而多行字符串不能匹配每一行 | 
| d | 匹配任意数字字符 | 
| d | 匹配任意非数字字符 | 
| s | 匹配任意空格字符 | 
| s | 匹配任意非空格字符 | 
| w | 匹配任意字符和数字。该字符和[:alnum:]之间的不同是w包括下划线字符 | 
| w | 匹配任意非空字符串 | 
| * | 通配符。找出在文本中包含0或多次给定子表达式出现的记录 | 
| + | 找出在文本中包含1或多次给定子表达式出现的记录 | 
| ? | 找出在文本中包含0次或1次给定子表达示出现的记录 | 
| . | 匹配文本中的任意字符 | 
| ^ | 锚。如果该字符后的表达式出现在行首,则匹配成功 | 
| $ | 锚。如果该字符后的表达式出现在行首,则匹配成功 | 
| | | 分隔符,使用方法和or相同 | 
| (….) | 分组子表达式 | 
create or replace function isnumber(valid_str in varchar2)
  return number
  is
  cursor valid_number is
  select 1 from dual where regexp_like(valid_str ,'^[+-]?d+(.d)?d*$');
  isnumber_ valid_number%rowtype;
  begin
  open valid_number;
  fetch valid_number into isnumber_;
  if (valid_number%found) then
  close valid_number;
  return 1;
  else
  close valid_number;
  return 0;
  end if;
  end isnumber;