正则表达式:
1,匹配功能:用String类中的matches方法
2,切割功能:用String类中的split方法.
3,替换功能:用String类中的replaceAll方法
4,获取功能
用这正则对象Pattern和匹配器
1)用正则表达式的字符串作为参数,通过compile方法(将给定的正则表达式编译到模式中。)创建Pattern对象.
2)将得到的模式调用matcher(CharSequence input)方法创建Matcher对象.
3)调用Matcher的find()方法查找匹配该模式的子序列.
String group(int group) 返回在以前匹配操作期间由给定组捕获的输入子序列。
正则表达式符号:
\b(元字符) |
代表的单词的开头和结尾;如查找hi单词,用\bhi\b |
. (元字符) |
匹配除了换行符以外的任意字符 |
*(元字符) |
指定*前面的内容可以连续重复使用任意次(包括0次) (.*不包含换行符的任意字符) |
+ |
匹配重复1次或多次 |
? |
重复0次或1次 |
\d(元字符) |
匹配一位数字(0-9) \d{2}前面\d必须重复匹配两次. 也可以是区间{2,6}匹配次数在2到6次 |
\s |
匹配任意的空白符,包括Tab,空格,换行 |
\w |
匹配字母,数字或下划线,汉字等. 没汉字等同于[a-zA-Z_0-9] 如:\b\w{6}\b 匹配6个字符的单词 |
^ |
匹配字符串的开始 ”\d{5,12}”包含数字5到12位” ^\d{5,12}$”数字只有5到12位 |
$ |
匹配字符串的结束 |
{n} |
重复n次 |
{m,n} |
重复m到n次 |
分歧条件 |
满足其中的任意规则都应该是匹配,用|分开,从左到右匹配 |
分组 |
用小括号来指定字表的表达式(),获取字表时用$,如$1(第1个字表) |
向后引用 |
使用小括号制定一个字表达式后,匹配这个字表达式的文本默认自动拥有一个组号,从走到右,从1开始 \b(\w+)\b\s+\1\b 匹配重复的单词 |
反义代码 |
|
\W |
匹配不是字母,数字,下划线,汉字的字符 |
\S |
匹配不是空白符的字符 |
\D |
匹配任意非数字的字符 |
\B |
匹配不是单词开头或结束的位置 |
[^x] |
匹配除了x以外的任意字符 |
|
|
<a[^>]+]> |
匹配用尖括号括起来的以a开头的字符串 |
^[\u4e00-\u9fa5]+$ |
匹配汉字 |
[aeiou] |
匹配元音 |