加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达示

发布时间:2020-12-14 01:30:19 所属栏目:百科 来源:网络整理
导读:这里对正则表达示进行一定程度的总结.为避免太过纠结,这里避开一些 鸡肋 的正则用法. 更多文档参考官方文档 http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html 字符 x 字符 x 反斜线字符 t 制表符 ('u0009') n 新行(换行)符 (

这里对正则表达示进行一定程度的总结.为避免太过纠结,这里避开一些 鸡肋 的正则用法.

更多文档参考官方文档 http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html

字符

x 字符 x

反斜线字符

t 制表符 ('u0009')

n 新行(换行)符 ('u000A')

r 回车符 ('u000D')

f 换页符 ('u000C')

a 报警 (bell) 符 ('u0007')

e 转义符 ('u001B')

字符类

[abc] a、b 或 c(简单类)

[^abc] 任何字符,除了 a、b 或 c(否定)

[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)

[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)

[a-z&&[def]] d、e 或 f(交集)

[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)

[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)

预定义字符类

. 任何字符(与行结束符可能匹配也可能不匹配)

d 数字:[0-9]

D 非数字: [^0-9]

s 空白字符:[ tnx0Bfr]

S 非空白字符:[^s]

w 单词字符:[a-zA-Z_0-9]

W 非单词字符:[^w]

边界匹配器

^ 行的开头

$ 行的结尾

b 单词边界

B 非单词边界

A 输入的开头

G 上一个匹配的结尾

Z 输入的结尾,仅用于最后的结束符(如果有的话)

z 输入的结尾


/*注:在Java 里表有些特殊的定义,参考API*/


Greedy 数量词 (贪婪)

X? X,一次或一次也没有

X* X,零次或多次

X+ X,一次或多次

X{n} X,恰好 n 次

X{n,} X,至少 n 次

X{n,m} X,至少 n 次,但是不超过 m 次

Reluctant 数量词 (非贪婪)

X?? X,一次或一次也没有

X*? X,零次或多次

X+? X,一次或多次

X{n}? X,恰好 n 次

X{n,}? X,至少 n 次

X{n,m}? X,至少 n 次,但是不超过 m 次


/*注:Possessive 这里不细说,参考API*/


Logical 运算符

XY X 后跟 Y

X|Y X 或 Y

(X) X,作为捕获组

Java 代码

publicclassTest2{
publicstaticvoidmatch(StringpatternStr,Stringstring){
Patternpattern=Pattern.compile(patternStr);
Matchermatcher=pattern.matcher(string);
if(matcher.find()){
//matcher.group()==matcher.group(0)代表整个表达示
for(inti=0,j=matcher.groupCount();i<=j;i++){
System.out.println(matcher.group(i));
}
}
}

/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//字符串区配
Pattern.matches("w","abcd");
//字符串替换
"abcdefg".replaceAll("^[w]{2}","aaaa");
//字符串筛选
Stringstr="abcde123fgabcd";
match("(w+)(d+)",str);
}
}

Oracle相关

--Oracle使用正则表达式的4个函数
--regexp_like(source_char,pattern,[match_parameter])
--与LIKE运算符相似,支持使用与此正则表达式与文本进行匹配
--regexp_substr(source_char,position,[occurrence],[match_parameter])
--为指定字符串的一部分与正则表达式建立匹配
--regexp_instr(source_char,[teturn_option],[match_parameter])
--返回与正则表达式匹配的字符和字符串的位置
--regexp_replace(source_char,replace_string,[match_parameter])
--提供一种修改与所给正则表达式匹配的字符串的方法

--参数说明
--source_char,输入的字符串,可以是列名或者字符串常量、变量。
--pattern,正则表达式。
--match_parameter,匹配选项.取值范围:i:大小写不敏感;c:大小写敏感;n:点号.不匹配换行符号;m:多行模式;x:扩展模式,忽略正则表达式中的空白字符。
--position,标识从第几个字符开始正则表达式匹配。
--occurrence,标识第几个匹配组。
--replace_string,替换的字符串。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读