正则表达式
来源:互联网 发布:金华职业技术学院网络 编辑:程序博客网 时间:2024/06/16 13:03
regex正则表达式:
专门用于操作字符串的,作用于字符串的一个正确的规则的表达式。
好处:用了一些符号代表代码,书写起来比较简单。
弊端:因为都是一些符号组成的表达式,所以可读性不高,而且先要把符号学完才行,才能看得懂。
正则对字符串的常见功能操作:
1,匹配
其使用的就是String类中的matchs方法,返回结果是boolean
2,切割
其使用的就是String类中的split方法,返回结果是String[]数字
使用叠词作为分隔符:
正则规则的复用..想复用,先封装,正则封装用小括号完成
//封装完以后有编号,从1开始,规则中被小括号封装的称之为组,直接通过编号调用对应的组
//调用方式直接写已有的组的编号前面加上
// "(.)\\1+":使用已有的第一组内容。原则:先有组,才可以使用对应的编号调用。
3,替换
使用的就是replaceAll方法,结果是一个新的字符串。
4,获取
获取其他三个功能内部最终使用的都是Pattern正则表达式对象。
现在需要其他功能时,字符串String类中没有对应的方法,只能找Pattern对象。
pattern对象使用的原理:
1,使用正则表达式字符串编译成正则对象pattern。
2,通过pattern对象获取Matcher对象(匹配器对象)。
3,通过匹配器对象对字符串进行规则的匹配,结果都在匹配器中。
4,通过匹配器对象的功能获取结果。
pattern:
//去除由三个字母组成的单词:
String str = "da jia zhu yi la, ming tian fang jia";
String regex="\\b[a-zA-Z]{3}\\b";
//1,将正则表达式的字符串格式先通过pattern中的compail方法编译成pattern正则表达式对象,将正则字符串表达式封装成封装成对象。
Pattern p = Pattern。compile(regex);
//2,想要使用这个规则进行操作,还需要通过Matcher方法和指定的字符串关联,并获取匹配器对象Matcher。真正将规则作用到字符串的对象上的是匹配器Matcher.
Matcher m = p.matcher(str);
//3,用匹配器对象Matcher的功能(方法)对字符串进行操作:
通过find查找并通过group方法打印。
while(s.find()){//查找 每查找一次 输出一次 System.out.println(s.group());
}
类 Pattern:
字符
x 字符 x
\\ 反斜线字符
\0n 带有八进制值 0 的字符 n (0 <= n <= 7)
\0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)
\0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)
\xhh 带有十六进制值 0x 的字符 hh
\uhhhh 带有十六进制值 0x 的字符 hhhh
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
\e 转义符 ('\u001B')
\cx 对应于 x 的控制符
字符类
[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 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
Matcher方法:
compile(String regex)将给定的正则表达式编译到模式中。
1 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 浅谈x264中的宏块树
- 移动App测试一些崩溃原因及触发崩溃的场景
- 合天-CTF-WEB-小伎俩-详解
- Android获取系统启动器、电话、短信和相机包名
- C++运算符重载(6) - 转换操作符
- 正则表达式
- 数据清洗工具kettle
- Innodb中的事务隔离级别和锁的关系
- ELF Format: 程序加载和动态链接
- sql server 2005导入超大sql脚本文件
- Spring_Aop编程_aop概述_通知介绍
- Java Timezone 与 Linux时间不一致
- android5.1 PowerManagerService和DisplayPowerControler、DisplayPowerState关系
- AutoCompleteTextView的使用