java中的正则表达式


需要用到Pattern、Matcher这两个类,都在java.util.regex这个包中。regex其实是regular expression的缩写。

用Pattern指定正则表达式。Pattern的compile(String regex)静态方法生成一个Pattern实例。

Pattern的matcher(CharSequence input)方法返回一个Matcher实例。

例如,正则表达式是([a-zA-Z]+)_\d+),字符串是sb_520AndSb_1314

Matcher常用方法:

boolean matches():

boolean find():如果字符串的任意子串能匹配这个正则表达式,则返回true,否则返回false。find()的作用就相当于Iterator的hasNext()方法,用于遍历,如while(matcher.find()){},这样就会从字符串的左边开始把匹配正则的子串找出来,有几个这样的子串就能循环几次。

matches()和find()方法区别:

 

以下方法在遍历内部使用:

String group():返回此次匹配的子串

int start():返回此次匹配的子串的起始索引

int end():返回此次匹配的子串之后一个字符的索引,注意不是子串最后一个字符的索引,是子串之后一个字符的索引

 

String group(int group):返回此次匹配的子串中第N个分组对应的字符串,N从1开始。group(0)等同于group()。

int start(int group):返回此次匹配的子串中第N个分组对应的字符串的起始索引,N从1开始。start(0)等同于start()。

int end(int group):返回此次匹配的子串中第N个分组对应的字符串之后的一个字符的索引,N从1开始。end(0)等同于end()。

 

String group(String name):

int start(String name):

int end(String name):

 

Matcher的int groupCount()实例方法返回正则表达式中括号的数量。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM