1:java
[0-9] 表示該處字符能夠是0-9中任意一個正則表達式
[0-9a-z]表示該處能夠是0-9或a-z的任意一個spa
[086]表示該處能夠是0,8,6中的任意一個orm
. (點)表示能夠是除去\n的任意字符blog
[^234]表示該處不能是2,3,4中的任意一個form
[^0-9]表示不能是0-9的任意一個class
[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.di
\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] while
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 表示不是字母數字下劃
. 表示任意字符(除去\n)
\d表示數字
\D 表示非數字
\s 表示由空字符組成 [ \t\n\r\x\f] eg:" \t$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 表示單詞邊界
單詞邊界符可以匹配中文符號、英文符號、空格、製表符、回車符號,
以及各類邊界,好比單詞在開頭,單詞在結尾。
\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()+"\n");
}
會輸出 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