正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
语法
- 一个普通的字符串就可以直接看做是一个正则表达式
如:java hello
- [单字符簇]:使用中括号,表示从多个元素中只要匹配到一个就算匹配到,只取一个
[abc] 表示取abc中的任意一个
[0-9] 表示取0-9中的任意一个 任意一个数字
[a-z] 表示取a-z中的任意一个小写字母
[A-Z] 表示取A-Z中的任意一个大写字母
[a-zA-Z] 表示取任意一个字母
[^abc] 表示除了abc以外的任意一个,中括号里面使用了一个^
- 预定义字符:特殊的值已经表示了特殊的含义,需要转义
. 表示任意字符,除了行结束符
\d 表示数字等同于[0-9],最常用,但在表示成字符串的时候需要转义
\D 非数字 [^0-9]
\w 表示匹配字母数字和下划线_等同于[a-zA-Z0-9_]
\W 除了\w以外的字符
\s 表示匹配空白字符
\b 表示单词的边界 java hello
- 限定符
x? 表示x出现0次或1次
x* 表示x出现0或多次
x+ 表示x出现1次或多次 至少出现一次
x{m} x刚好出现m次
x{m,} x至少出现m次
x{m,n} x至少出现m次但是不超过n次
- 定位符
^ 以什么开始
$ 以什么结束
- 选择符
| a|b 匹配a或者是b