java正则表达式
来源:互联网 发布:超盟数据李健豪 编辑:程序博客网 时间:2024/05/16 05:08
正则表达式是功能强大,使用灵活的文本处理工具,它使用某字符串 集合中各串的公共特征来描述这个字符串,这种特征可以称为模式。利用模式处理文本比利用字符串更有效。java.util.regex包主要有Pattern、Matcher、PatternSyntaxException三个类支持正则表达式。
(一)正则表达类的基础
如果想表示一个数可能是负值,可以用负号加问号放在数字前,如—?8;如果表示一位数字,可以用反斜线和d表示如\\d;如果表示一位数以上,正则表达式写为\\d+;如果表示一个数字前可能有正号或负号,应该写为-|\\+,其中+是逻辑或。
例如:
(二)正则表达式字符类
下表列出构造正则表达式的字符类,表中方括号内的构造可以匹配一定范围的字符串。
字符类含义[abc]
[`abc]
[a-zA-Z]
[a-d[m-p]]
[a-z&&[def]]
[a-z&&[`bc]]
[a-z&&[`m-p]]
除了abc外的任何字符(非)
a~z或A~Z(含)
a~d或m~p与[a-dm-p]等价(并)
d、e或f(交)
a~z除了b和c,等价[ad-z](差)
a~z,且非m~p,等价[a-lq-z](差)
实例:
(三)预定义字符集
表示某种缩写,见下表:
预定义字符含义.\d
\D
\s
\S
\w
\W任何字符(不一定匹配行终止符)
一位数字:[0-9]
一位非数字:[`0-9]
一个空白字符:[\t\n\x0B\f\r]
一个非空白字符:[`\s]
一个词字符:[a-zA-Z_0-9]
一个非词字符:[`\w]
(四)量词
量词用来说明读入文本的方式,有贪心的(Greedy),不情愿的(Reluctant),占有的(Possessive)三种。贪心是指匹配器先读入整个输入串进行匹配,不行再减少一个字符重新匹配。不情愿是指匹配器一次只读入一个字符进行匹配,最后才会读入整个字符串;占有的是指匹配器读入整个输入串进行一次匹配,不减少字符。
GreedyReluctantPossessive含义X?X*
X+
X{n}
X{n,}
X{n,m}X??
X*?
X+?
X{n}?
X{n,}?
X{n,m}X?+
X*+
X++
X{n}+
X{n,}+
X{n,m}+X,一次或没有
X,零次或多次
X,一次或 多次
X,正好n次
X,至少n次
X,至少n次但不超过m次
(五)边界匹配字符
边界匹配字符可以指明匹配在哪里进行,如下表
边界匹配符 含义`$
\b
\B
\A
\G
\Z
\z行的开头
一行的尾部
一个词的边界
一个非词的边界
输入的开头
前次匹配的尾部
输入的尾部,但是用于最后终止符(如果有)
输入的尾部
(六)Pattern类
Pattern类提供了一个compile()方法,可以接受一组标志影响模式匹配的方式。例如Pattern.CASE_INSENSITIVE,允许部分大小写字母匹配。
Pattern提供了matches()方法,允许快速检查给输入字符串中有无指定模式,它是静态方法,要有Pattern类名来调用。
Pattern提供了spilt()方法,把按正则表达式分界的字符串分解为一个字符串组。
(七)Matcher类
提供了解释模式和执行匹配操作的方法
(八)PatternSyntaxException类
该类用于检查正则表达式模式中的语法错误。
除了abc外的任何字符(非)
a~z或A~Z(含)
a~d或m~p与[a-dm-p]等价(并)
- Java 正则表达式正则
- 【正则表达式】Java正则表达式
- 正则表达式 JAVA正则表达式
- 【Java】【正则表达式】正则表达式
- Java 正则表达式详解_正则表达式
- java正则表达式!正则表达式踩坑!!!
- 正则表达式工具类,正则表达式封装,Java正则表达式
- Java正则表达式详解
- Java正则表达式详解
- Java正则表达式详解
- Java正则表达式详解
- Java正则表达式详解
- java和正则表达式
- java正则表达式详解!
- Java正则表达式详解
- Java正则表达式详解
- Java正则表达式详解
- Java正则表达式详解
- kali无线渗透之Aireplay-ng小谈
- 《金缕曲》
- C++ 调用Matlab画图
- Httpclient核心架构设计
- iOS视图控制器编程指南 --- 实现一个容器视图控制器
- java正则表达式
- android代码签名和混淆打包
- TChart 控件
- 讲义五 java语言基础
- JAVA SkipList 跳表 的原理和使用例子
- 反者道之动?
- 一行代码改变label某个范围的字体颜色
- 码农小汪-SpringMVC-入门篇
- python汉诺塔递归