天天看點

JS和java正規表達式詳解

正規表達式詳解

    • 一、定義
    • 二、文法規則
    • 三、java中的正則(轉義符\\)
      • 1、第一種寫法
      • 2、第二種寫法
    • 四、JS中的正則(轉義符\)
      • 1、第一種寫法
      • 2、第二種寫法

一、定義

正規表達式是一種基于字元串的文法規則,是一種可以用于模式比對和替換的規則,主要用于文本和字元串的處理。它是一些特殊意義的字元組成的字元串,這些具有特殊意義的字元叫元字元。

二、文法規則

. 任何一個字元

\d 0-9的任何一個數字

\D 任何一個非數字字元

\s 空格類字元

\S 非空格類字元

\w 可用于辨別的字元(不含$)英文字母、數字、下劃線

\W 不能用于辨別的字元

\p{Lower} 小寫字母【a-z】

\p{Upper} 大寫字母【A-Z】

\p{ASCII} ASCII字元

\p{Alpha} 字母

\p{digit} 數字字元【0-9】

\p{Alnum} 字母或數字

\p{ Punct} 标點符号

\p{graph} 可視字元

\p{Print} 可列印字元

\p{Blank} 空格或制表符

\p{Cntrl} 控制字元

[ ] 中的元字元含義

[abcde] 比對a、b、c、d、e中的任意一個字元。

[a-h] 比對a-h中的任意一個字元。

[^abcde] 不與a、b、c、d、e中的任意一個字元比對。

交叉運算

[a-d[m-p]] 比對a-d、m-p中的任意一個字元(并集)。

[a-z&&[def]] 比對d、e、f中的任意一個字元(交集)。

[b-z&&[^def]] 不比對d、e、f中的任意一個字元(差集)。

限定符

X? 0次或1次 X{n,} 至少出現n次

X* 0次或多次 X{n,m} n次到m次

x+ 1次或多次 XY X後跟Y

X{n} x出現n次 X|Y X或Y

三、java中的正則(轉義符\)

1、第一種寫法

String str = “待驗證文本”;

String regular = “這裡是正規表達式”;

if (Pattern.compile(regular).matcher(str).matches()) {

System.out.println(“符合條件”);

} else {

System.out.println(“不符合條件”);

}

2、第二種寫法

String str = “待驗證文本”;

if (str.matches(“這裡是正規表達式”)) {

System.out.println(“符合條件”);

} else {

System.out.println(“不符合條件”);

}

四、JS中的正則(轉義符\)

1、第一種寫法

var str = “待驗證文本”;

var regular = new RegExp(/這裡是正規表達式/);

if (regular.test(str)) {

console.log(“符合條件”);

} else {

console.log(“不符合條件”);

}

2、第二種寫法

var str = “待驗證文本”;

if (/這裡是正規表達式/.test(str)) {

console.log(“符合條件”);

} else {

console.log(“不符合條件”);

}

繼續閱讀