在安卓中使用正则表达式2

来源:互联网 发布:网络订餐食品安全 编辑:程序博客网 时间:2024/06/05 06:20

Section 6    字符组  [ ] 与[^]   

[ ] ===>匹配字符集中任意字符

[^] ===>匹配不在字符集中的任意字符


System.out.println(Pattern.matches("[abcde]*", "abc") + "");System.out.println(Pattern.matches("[abcde]*", "abcz") + "");System.out.println(Pattern.matches("[^abcde]*", "abc") + "");System.out.println(Pattern.matches("[^abcde]*", "fgh") + "");
truefalsefalsetrue
Section 7  - 连字符
在使用[] 或者[^]的过程中,有时候需要匹配的字符比较多,
那么,有没有比较简便的表达方式呢,有!
这个时候可以用-来连接字符,
代表从前一个字符到后一个字符之间的所有字符
[a-z] ===>a到z的任意字符
System.out.println(Pattern.matches("[a-c]*", "abc") + "");System.out.println(Pattern.matches("[a-c]*", "abe") + "");
true
false
[A-Z] ===>A到Z的任意字符
System.out.println(Pattern.matches("[A-C]*", "AB") + "");System.out.println(Pattern.matches("[A-C]*", "ab") + "");
true
false
[0-9] ===>0到9的任意字符
System.out.println(Pattern.matches("[0-9]*", "12") + "");System.out.println(Pattern.matches("[0-9]*", "1a") + "");

注意:只有在字符组内部,连字符才是元字符,并且如果元字符出现在字符组内部的开头,
则其也只能算作是一个普通字符
System.out.println(Pattern.matches("[-1-9]*", "12-") + "");

true









原创粉丝点击