`
tomhibolu
  • 浏览: 1384103 次
文章分类
社区版块
存档分类
最新评论

JDK6笔记(3)----正则表达式

 
阅读更多

JDK6笔记(3)----正则表达式


一、正则表达式的编译形式
1)指定为字符串的正则表达式必须首先被编译为此类的实例。compile
2)将得到的模式用于创建Matcher对象。matcher
3)依照正则表达式,该对象可以于任意字符序列匹配。matches
例:
Pattern p=Pattern.compile("a*b");
Matcher m=P.matcher("aaaaab");
boolean b=m.matches();
二、规则
1)字符类
.表示任何字符
[abc]包含a、b、c的任何字符(和a|b|c相同)
[^abc]除a、b、c之外的任何字符(否定)
[a-zA-Z]任何从a到z或从A到Z的字符(范围)
[abc[hij]]任意a、b、c、h、i、j字符(与a|b|c|h|i|j相同)(合并)
[a-z&&[hij]]任意h、i、j字符(交)
/swhitespace符(空格、tab、换行、换页、回车)
/S非whitespace符([^/s])
/d数字[0-9]
/D非数字[^0-9]
/wword character([a-zA-Z_[0-9])
/W非word character(^/w)
2)在Java中,“//”意味着正在插入一个正则表达式的反斜杠,随后的字符具有特殊意义。
XYXY
X|YX或Y
(X)Capturing group
3)边界匹配
^一行的开始
$一行的结束
/b词界
/B非词界
/G上一级的结尾
4)量词
?0或1个
*0或多个
+1或多个
X{n}X,恰好n次
X{n,}X,至少n次
X{n,m}X,至少n次,至多m次
三、字符序列
CharSequence接口,从String到StringBuffer类中抽象出。
interface CharSequence{
charAt(int i);//返回指定索引处的char值
length();//返回长度
subSequence(int start,int end);//返回从索引start开始,end结束的子序列
toString();//返回字符串
}
四、在Java中,正则表达式是通过java.util.regex包里面的Pattern和Matcher类来实现的。
1)Matcher.find()用于发现应用于CharSequence的多重模式匹配。
2)find(int start) 重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列。
例:
package myfile;
import java.util.regex.*;
import java.util.*;
public class FindDemo {
private static String str="boolean contains(CharSequence s) new Test()";
public static void main(String[] args) {
Matcher m=Pattern.compile("//w+").matcher("Evening is full of the linnet's wings");
while(m.find())
System.out.println(m.group());
int i=0;
while(m.find(i)){
i++;
System.out.print(m.group()+" ");
}
System.out.println("/n"+"i="+i);
}
}

分享到:
评论

相关推荐

    CSS2.0-CSS3.0-HTML5-JavaScript-JDK1.8-正则表达式,帮助文档CHM

    CSS2.0-CSS3.0-HTML5-JavaScript-JDK1.8-正则表达式,全中文帮助文档,全都是CHM版 里面包含15个CHM文件,其中有六大类,有的有多个版本全是中文版 CSS2.0就标准的一个版本,够用了 CSS3.0有P零雾雨版,ISD版还有,...

    开发工具 jdk-8u121-windows-i586

    开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8u121-windows-i586开发工具 jdk-8...

    jdk-7u80-windows-x64安装包

    jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-windows-x64安装包 jdk-7u80-...

    bcprov-jdk15to18-1.69.jar

    bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-1.69.jar bcprov-jdk15to18-...

    jdk-6u39-windows-i586

    jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows-i586,jdk-6u39-windows...

    jdk-6u21-windows-x64

    jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-windows-x64 jdk-6u21-...

    常用java正则表达式

    本文写作时,一个包含了用正则表达式进行文本处理的Java规范需求(Specification Request)已经得到认可,你可以期待在JDK的下一版本中看到它。 然而,如果现在就需要使用正则表达式,又该怎么办呢?你可以从Apache...

    java JDK1.8.60-jdk-8u60-windows-x64

    java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64,java JDK1.8.60-jdk-8u60-windows-x64

    jdk 6.0 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008(微信开发平台开发JDK)

    微信开发平台开发工具 JDK jdk 6.0 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008

    jdk-8u60-windows-i586-JDK1.8-32位

    jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586 jdk-8u60-windows-i586

    bcmail-jdk14-1.38-API文档-中文版.zip

    赠送jar包:bcmail-jdk14-1.38.jar; 赠送原API文档:bcmail-jdk14-1.38-javadoc.jar; 赠送源代码:bcmail-jdk14-1.38-sources.jar; 赠送Maven依赖信息文件:bcmail-jdk14-1.38.pom; 包含翻译后的API文档:bcmail...

    jdk-8u231-windows-x64.exe 安装版

    文件名称:C:\Users\LBWNB\Desktop\jdk-8u231-windows-x64\jdk-8u231-windows-x64.exe 文件大小:220392992 字节 文件版本:8.0.2310.11 修改时间:2019年11月11日 13:31:03 MD5 :F8A35AB83D651DC52CC77B19CD818167...

    jdk1.6-jdk-6u43-windows32-i586

    jdk1.6-jdk-6u43-windows32-i586

    jdk-6u14-linux-x64-rpm.bin

    jdk-6u14-linux-x64-rpm.bin

    jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe

    jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe java编译环境

    jdk-6u14-linux-x64.bin

    jdk-6u14-linux-x64.bin

    jdk-6u20-windows-i586(官方下载地址)

    最新版本的jdk欢迎大家来下载!最新版本的jdk欢迎大家来下载!

    jdk-6u2-windows-i586-p

    jdk-6u2-windows-i586-p

    JDK-7u80-windows-x64版本

    JDK版本:JDK-7u80-windows-x64版本,即为jdk1.7,此版本会自动安装JRE(Java的一个运行环境).

    腾讯地图jdk qqmap-wx-jssdk

    腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk qqmap-wx-jssdk 腾讯地图jdk...

Global site tag (gtag.js) - Google Analytics