黑马程序员——java正则表达式
来源:互联网 发布:lol免费刷金币软件 编辑:程序博客网 时间:2024/05/21 11:51
一、概述
1、 概念:符合一定规则的表达式。
2、 作用:用于专门操作字符串。
3、 特点:用于一些特定的符号来表示一些代码操作,这样可以简化书写。所以学习正则表达式,就是在学习一些特殊符号的使用。
4、 好处:可以简化对字符串的复杂操作。
5、 弊端:符合定义越多,正则越长,阅读性越差。
二、常见符号
说明:X表示字符X或者匹配的规则。
1、字符
x 字符 x
\\ 反斜线字符
\t 制表符 ('\u0009')
\n 新行(换行)符 ('\u000A')
\r 回车符 ('\u000D')
\f 换页符 ('\u000C')
\a 报警 (bell) 符 ('\u0007')
2、字符类
[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](减去)
3、预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
4、边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
5、Greedy数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n次
X{n,} X,至少 n次
X{n,m} X,至少 n次,但是不超过 m 次
6、组和捕获
捕获组可以通过从左到右计算其开括号来编号。例如,在表达式 ((A)(B(C)))中,存在四个这样的组:
1 ((A)(B(C)))
2 \A
3 (B(C))
4 (C)
组零始终代表整个表达式。在替换中常用$匹配组的内容。
---------------------- <a target="blank">ASP.Net+Unity开发</a>、<a target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员Java——正则表达式
- 黑马程序员——Java正则表达式
- 黑马程序员——java正则表达式
- 黑马程序员——Java正则表达式
- 黑马程序员——java---正则表达式
- 黑马程序员——Java正则表达式
- 黑马程序员java学习—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员—正则表达式
- 黑马程序员——java基础——正则表达式
- 黑马程序员——java基础——正则表达式
- Android平台上使用属性系统(property system)
- PE文件结构详解(六)重定位
- HashMap键值对存入解析
- Linux中的无线架构
- 非mongodb数据库如何使用mongodb生成的主键id
- 黑马程序员——java正则表达式
- NSLog中的thread number
- Java反射
- Linux——gcc编译时In function `_start':(.text+0x**):
- ClassNotFoundException: edu.emory.mathcs.backport.java.util.concurrent.AbstractExecutorService异常解决
- 超级简单的纯js 贪吃蛇,看一遍你也会写
- Linux下Socket编程的端口问题( Bind error: Address already in use )
- 黑马程序员——Foundation学习—-----NSDictionary和NSMutableDictionary
- Android信息推送技术简要分析