java-正则表达式
Posted zhuzhuqwa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-正则表达式相关的知识,希望对你有一定的参考价值。
1、什么是正则表达式
定义了一组查找模式的有序字符串
2、正则表达式的基础语法有哪些
单匹配单个字符
. 任意字符
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白字符[\t\n\x0b\f\r]
\w 一个字符[a-zA-Z_0-9]
范围匹配单个字符
[abc] simple class
[^abc] negation
[a-zA-Z] range
[a-d[m-p]] [a-dm-p] union
[a-z&&[def]] [def] intersection
[a-z&&[^bc]] [ad-z] subtraction
[a-z&&[^m-p]] [a-lq-z] subtration
---|匹配多个字符 贪婪模式
? 0个或1个
* 任意多个相同字符(0或多个) "".matches("m*")
+ 1个或多个字符
X{n} =n
X{n,} >=n
X{n,m} <=n <=m
--|边界匹配
^abc start with "abc" [^abc] not "a"、"b"、"c"
abc$ end with "abc"
3、java怎么使用正则表达式
Pattern类 Matcher类
Pattern p = Pattern.compile()方法 //先把正则表达式生成一个Pattern对象
Matcher m = p.matcher()方法 //通过Pattern对象matcher方法把查找的内容生成一个Mathcher对象
m.matches()方法
m.find()方法 //顺序匹配
m.group()方法 //通过find后,就可以group获取
m.reset()方法
m.start()方法
m.end()方法
4、正则表达的高阶用法
分组 括号 数左括号
贪婪模式 .*
非贪婪模式 .*?
以上是关于java-正则表达式的主要内容,如果未能解决你的问题,请参考以下文章