正則表示式用法
阿新 • • 發佈:2019-01-01
1、範圍的字元類:
[abc],範圍中的一個,a或b或c
[^abc],取反,除了abc中的一個
[a-z],小寫字母中的任何一個
[a-zA-Z],字母中的任何一個
[a-c[m-q]],並集,abcmnopq中的任何一個
[a-c && [b-f]],交集,bc中任何一個
[a-z && [bcd]],交集。bcd中的一個
2、預定義字元類
. :任何字元
\d :數字,[0-9]
\D :非數字,[^0-9]
\s :空白,空格 回車,換行 \t
\S :非空白,[^\s]
\w :單詞字元[a-zA-Z0-9_]
\W :非單詞字元,[^\w]
3、量詞:指定匹配的次數
x?,零次或1次
x*,零次或多次
x+,一次或多次
x{n},n次
x{n,},至少n次
x{n,m},至少n次,不多於m次
|,或者
\\.,表示.
(),分組
(.)\\1+ : \1引用第一組的內容
$1 :外部引用第一組的內容
[abc],範圍中的一個,a或b或c
[^abc],取反,除了abc中的一個
[a-z],小寫字母中的任何一個
[a-zA-Z],字母中的任何一個
[a-c[m-q]],並集,abcmnopq中的任何一個
[a-c && [b-f]],交集,bc中任何一個
[a-z && [bcd]],交集。bcd中的一個
2、預定義字元類
. :任何字元
\d :數字,[0-9]
\D :非數字,[^0-9]
\s :空白,空格 回車,換行 \t
\S :非空白,[^\s]
\w :單詞字元[a-zA-Z0-9_]
\W :非單詞字元,[^\w]
3、量詞:指定匹配的次數
x?,零次或1次
x*,零次或多次
x+,一次或多次
x{n},n次
x{n,},至少n次
x{n,m},至少n次,不多於m次
|,或者
\\.,表示.
(),分組
(.)\\1+ : \1引用第一組的內容
$1 :外部引用第一組的內容
\b:單詞的邊界
package day_160810_regex;
public class Demo01 {
public static void main(String[] args) {
//[abc],範圍中的一個,a或b或c
String regex="[abc]";
String s="a";
System.out.println(s.matches(regex));//true
//舉例:qq帳號:5-11位數字
regex="[1-9]\\d{4,10}";
s="22243";
System.out.println(s.matches(regex));//true
//電話號碼的正則法則
regex="1[345789]\\d{9}";//表示第一位是1第二位在345789中選擇一位剩下9位數字隨意
s="18753360900";
System.out.println(s.matches(regex));//true
//身份證正則法則
regex="[1-9]\\d{16}[1-9X]";
s="21041155568841542X";
System.out.println(s.matches(regex));//true
//郵箱正則法則
regex="\\ [email protected]\\w+\\.(com|net|org)";
s="[email protected]";
System.out.println(s.matches(regex));
}
}