1:
[0-9] 表示该处字符可以是0-9中任意一个
[0-9a-z]表示该处可以是0-9或a-z的任意一个
[086]表示该处可以是0,8,6中的任意一个
. (点)表示可以是除去 的任意字符
[^234]表示该处不能是2,3,4中的任意一个
[^0-9]表示不能是0-9的任意一个
[A-Z]表示A-Z任意一个(字符是区分大小写的)
String s="aa";
String regex="[a-z][a-z]";
boolean b=s.matches(regex);
System.out.println(b);
String s="5ec3";
String regex="([0-9][a-z][a-z][0-9])";
Pattern pa=Pattern.compile(regex);
Matcher ma=pa.matcher(s);
boolean b=s.matches(regex);
2.
d{1,3} d表示是数字. {1,3}表示出现1到3次 {1,}表示出现1次或1次以上
d{1,3}
[a-z]\d{1,4}
[a-z]\d{1,4}[a-z]
String s="aa2344";
String regex="[a-z]{2}[0-9]{0,5}";
boolean b=s.matches(regex);
System.out.println(b);
String s="aa2344";
String regex="[a-z]{2}\d{0,5}";
boolean b=s.matches(regex);
System.out.println(b);
3.
\w{1,} \d{1,4} w 表示 字母或数字或下划线
\W 表示不是字母数字下划
. 表示任意字符(除去 )
d表示数字
D 表示非数字
s 表示由空字符组成 [ xf] eg:" $2335"
S 表示由非空字符[^s]
4.出现次数的表达:
[a-z]? 表示a-z出现0次或1次
[a-z]+表示出现a-z 1次或多次
[a-z]* 表示0次或1次或多次
{n}表示出现n次
{n,m} 表示 n-m次
{n,}表示n或n+次
5.
XY 表示X后面是Y X,Y分别是正则表达式的一部分 如[a-z][0-9]
X|Y 表示或的意思 可以是X或Y
可是具体字符 eg:[%|$|&] 表示该字符是%或$ 或&
eg:
String s="%af";
String regex="[%]|[$|&][a-z]{1,2}"; false
String s="%af";
String regex="[¥]|[%|&][a-z]{1,2} "; true ?????
String s="%af";
String regex="[%|@]|[$|&][a-z]{1,2}"; false ??
6.
^ 为开头 $ 结尾
$1 :表示 第一个() 的内容 $2 表示第二个()内容
表示单词边界
单词边界符能够匹配中文符号、英文符号、空格、制表符、回车符号,
以及各种边界,比如单词在开头,单词在结尾。
B 是非单词分界符,即可以查出是否包含某个字符,
String regex = "\b(\d{3})(\d{3})(\d{4})\b";
String replacementText = "($1) $2-$3";
String source = "1234567890, 12345, and 9876543210";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(source);
String formattedSource = m.replaceAll(replacementText);
Log.d(TAG, "onCreate:* --"+formattedSource);
输出:
(123) 456-7890, 12345, and (987) 654-3210
eg:
String source=" xhyd ,dfdf ,vgu ,rtyu";
String regex="\B([d|h|y])\B";
Pattern p=Pattern.compile(regex);
Matcher matcher=p.matcher(source);
while (matcher.find()){
Log.d(TAG, "onCreate: ---"+matcher.group()+"
");
}
会输出 h y d y
[^A] 表示匹配除去A 以外的字符
eg:
String ss="ayucn";
String regex2="[a-z]{5}[^A]";
boolean booleans=ss.matches(regex2);---->false
String ss="ayucn "; --->true