Pattern类与Matcher方法的验证
来源:互联网 发布:球头铣刀怎么编程 编辑:程序博客网 时间:2024/06/05 03:21
1Pattern
- static Pattern compile(String regex)将给定的正则表达式编译到模式中。
- Matcher matcher(CharSequence input)创建匹配给定输入与此模式的匹配器。
- boolean matches()尝试将整个区域与模式匹配。
- String[] split(CharSequence input) 围绕此模式的匹配拆分给定输入序列。
String regexPattern = "\\d+";static Pattern compile(String regex) 将给定的正则表达式编译到模式中。 regex正则 Pattern p = Pattern.compile(regexPattern);Matcher matcher(CharSequence input) 创建匹配给定输入与此模式的匹配器。 ,input匹配源 Matcher m = p.matcher("12312331-");boolean matches() 尝试将整个区域与模式匹配。 System.out.println("----------boolean matches()尝试将整个区域与模式匹配。 ------"); System.out.println("是否匹配:" + m.matches());String[] split(CharSequence input) 围绕此模式的匹配拆分给定输入序列。 System.out.println("------- //String[] split(CharSequence input)分割返回数组------"); String[] str=p.split("aaaaaa:22222bbbbbbb:3333333ccccccc:4444444"); for (String string : str) { System.out.println(string); }static boolean matches(String regex, CharSequence input) 编译给定正则表达式并尝试将给定输入与其匹配。 用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串. System.out.println("----boolean matches() 尝试将整个区域与模式匹配。 ----------"); System.out.println(Pattern.matches("\\d+","2223"));//返回true System.out.println(Pattern.matches("\\d+","2334dd"));//返回false,需要匹配到所有字符串才能返回true,这里dd不能匹配到 System.out.println(Pattern.matches("\\d+","we233"));//返回false,需要匹配到所有字符串才能返回true,这里we不能匹配到 输出:----------boolean matches()尝试将整个区域与模式匹配。 ------是否匹配:false------- //String[] split(CharSequence input)分割返回数组------aaaaaa:bbbbbbb:ccccccc:----boolean matches() 尝试将整个区域与模式匹配。 ----------truefalsefalse
2Matcher类
- lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配。此方法始终从区域的开头开始;与之不同的是,它不需要匹配整个区域。
public boolean find()尝试查找与该模式匹配的输入序列的下一个子序列。
此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始。start()返回第一个匹配字符的索引。
- end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. 返回最后匹配字符之后的偏移量。
- group()返回匹配到的子字符串
//lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配。此方法始终从区域的开头开始;与之不同的是,它不需要匹配整个区域。 System.out.println("-------//lookingAt()------"); Matcher m1=p.matcher("23ssss"); System.out.println(m1.lookingAt());//返回true,因为\d+匹配到了前面的23 Matcher m2=p.matcher("sss23"); System.out.println(m2.lookingAt());//返回false,因为\d+不能匹配前面的sss //public boolean find()尝试查找与该模式匹配的输入序列的下一个子序列。 // 此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始。 System.out.println("-------public boolean find()-----"); Matcher mm=p.matcher("22bb23"); System.out.println(mm.find());//返回true Matcher mm2=p.matcher("aa2223"); System.out.println(mm2.find());//返回true Matcher mm3=p.matcher("aa2223bb"); System.out.println(mm3.find());//返回true Matcher mm4=p.matcher("aabb"); System.out.println(mm4.find());//返回false // start()返回第一个匹配字符的索引。 // end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置. 返回最后匹配字符之后的偏移量。 //group()返回匹配到的子字符串 System.out.println("------find----start----end---group-"); Matcher mmm=p.matcher("aaaabbbb3333ddd"); System.out.println(mmm.find());//匹配3333 返回true System.out.println(mmm.start());//返回8 System.out.println(mmm.end());//返回12,返回的是3333后的索引号 System.out.println(mmm.group());//返回3333 System.out.println("---"); Matcher mmm2=p.matcher("11bb"); System.out.println(mmm2.lookingAt()); //匹配11 System.out.println(mmm2.start()); //返回0,由于lookingAt()只能匹配前面的字符串,所以当使用lookingAt()匹配时,start()方法总是返回0 System.out.println(mmm2.end()); //返回2 System.out.println(mmm2.group()); //返回11 System.out.println("---"); Matcher mmm3=p.matcher("222344"); System.out.println(mmm3.matches()); //匹配整个字符串 System.out.println(mmm3.start()); //返回0 System.out.println(mmm3.end()); //返回6,原因相信大家也清楚了,因为matches()需要匹配所有字符串 System.out.println(mmm3.group()); //返回222344 输出:-------//lookingAt()------truefalse-------public boolean find()-----truetruetruefalse------find----start----end---group-true8123333---true0211---true06222344
3正则的高级使用
Pattern p1=Pattern.compile("\\d+"); Matcher m1=p1.matcher("aaaaa:1111 bbbbb:22222 cccccc:ddddd:23d"); while(m1.find()) { System.out.println(m1.group()); } 输出:11112222223
0 0
- Pattern类与Matcher方法的验证
- Pattern类与Matcher类的基本方法理解
- Pattern与Matcher类
- java丶Pattern与Matcher结合进行验证字符
- Java Pattern类 与 Matcher类
- Pattern类与Matcher类详解
- Pattern类与Matcher类详解
- Pattern类与Matcher类详解
- Pattern与Matcher介绍
- Pattern和Matcher类的用法
- Pattern Matcher类 JAVA
- Pattern和Matcher类
- 用pattern,matcher类的方法实现提取指定的字符串
- [Android基础]Pattern与Matcher
- java常用的正则表达式及pattern与matcher
- java中正则表达式之Pattern类与Matcher类
- 正则表达式:Pattern类与Matcher类详解
- 正则表达式:Pattern类与Matcher类详解
- visual studio运行时库MT、MTd、MD、MDd的研究
- A*B NTT快速数论变换
- 二叉树-输出树中从根到每个叶子节点的路径
- CMake 入门实战
- 自定义UICollectionView布局
- Pattern类与Matcher方法的验证
- java 基础数据结构
- android camera相关
- Network in Network
- 行、列递增的二维数组数字查找
- 思维导图课程
- 500. Keyboard Row
- Ubuntu修改DNS
- android Vitamio(维他命)入门