更新時間:2021-08-12 12:01:43 來源:動力節點 瀏覽1076次
要創建正則表達式,您必須使用特定的語法——即特殊字符和構造規則。例如,以下是匹配任何 10 位電話號碼的簡單正則表達式,格式為 nnn-nnn-nnnn:
\d{3}-\d{3}-\d{4}
有關其他說明和指南,另請參閱指南使用正則表達式和正則表達式的例子。
下表描述了在正則表達式中使用的一些最常見的特殊字符。這些字符分類如下:
^
(插入符號)匹配正則表達式正在搜索的文本行或字符串的開頭。例如,具有位置主題行和以下正則表達式的內容規則:
^abc
捕獲主題行以字母abc開頭的任何電子郵件
$
(美元)匹配正則表達式正在搜索的文本行或字符串的結尾。例如,具有位置主題行和以下正則表達式的內容規則:
xyz$
捕獲主題行以字母xyz結尾的任何電子郵件
.
(點)匹配任何單個字符,新行除外。
|
(管道)表示交替——即“或”。例如:
cat|dog 匹配單詞cat或dog
\
表示下一個字符是文字??而不是特殊字符。例如:
\。匹配文字句點,而不是任何字符(點字符)
[...]
匹配一組字符中的任何字符。用破折號分隔集合中的第一個和最后一個字符。例如:
[123] 匹配數字1、2或3
[af] 匹配從a到f 的任何字母
注意:內容合規性策略中的正則表達式區分大小寫。
[^...]
匹配不在字符集中的任何字符。例如:
[^af]
匹配不是從a到f的字母的任何字符
注意:內容合規性策略中的正則表達式區分大小寫。
[:alnum:]
匹配字母數字字符(字母或數字):
az、AZ或0-9
注意:在正則表達式中使用此字符類時,必須用另一組方括號括起來,例如: [[:alnum:]] .
[:α:]
匹配字母字符(字母):
az或AZ
注意:在正則表達式中使用該字符類時,必須用另一組方括號括起來,例如:[[:alpha:]]。
[:數字:]
匹配數字:
0-9
注意:在正則表達式中使用該字符類時,必須用另一組方括號括起來,例如:[[:digit:]]。
[:圖形:]
僅匹配可見字符,即除空格、控制字符等之外的任何字符。
注意:這個字符類在正則表達式中使用時必須用另一組方括號括起來,例如:[[:graph:]]。
[:點:]
匹配標點字符和符號:
! " # $ % & ' ( ) * + , \ -. / : ; < = > ? @ [ ] ^ _ ` { | }
注意:當你在一個字符類中使用它時,這個字符類必須用另一組方括號括起來正則表達式,例如:[[:punct:]]。
[:打印:]
匹配可見字符和空格。
注意:這個字符類在正則表達式中使用時必須用另一組方括號括起來,例如:[[:print:]]。
[:空間:]
匹配所有空白字符,包括空格、制表符和換行符。
注意:這個字符類在正則表達式中使用時必須用另一組方括號括起來,例如:[[:space:]]。
[:單詞:]
匹配任何單詞字符——即任何字母、數字或下劃線:
az、AZ、0-9或 _
注意:在正則表達式中使用該字符類時,必須用另一組方括號括起來,例如例如:[[:word:]]。
\w
匹配任何單詞字符——即任何字母、數字或下劃線:
az、AZ、0-9或 _
等效于 [:word:]
\W
匹配任何非單詞字符,即不是字母、數字或下劃線的任何字符。
相當于 [^[:word:]]
\s
匹配任何空白字符。例如,使用此字符指定短語中單詞之間的空格:
stock\stips 匹配短語stock tips
等效于 [:space:]
\S
匹配任何非空格字符。
相當于 [^[:space:]]
\d
匹配 0-9 之間的任何數字。
相當于 [:digit:]
\D
匹配任何不是 0-9 數字的字符。
相當于 [^[:digit:]]
(……)
對表達式的部分進行分組。使用分組將量詞應用于組或匹配組之前或之后的字符類。
{n}
精確匹配前面的表達式 n 次。例如:
[ac]{2}僅當連續出現兩個字母時才匹配從a到c 的任何字母。因此,表達式將匹配ab和bc但不匹配abc或aabbc。
{n,m}
匹配前面的表達式最少 n 次,最多 m 次。例如:
[ac]{2,4}僅當字母連續出現最少 2 次和最多 4 次時才匹配從a到c 的任何字母。因此,表達式將匹配ab和abc但不匹配 aabbc。
?
表示前面的字符或表達式可以匹配 0 次或 1 次。等效于范圍 {0,1}。例如,以下正則表達式:
colou?r
匹配color或color,因為? 使字母u可選。
正則表達式字符限制
不支持包含以下特殊字符的正則表達式,因為它們會導致處理電子郵件的延遲:
*(星號)
+(加號)
以上就是動力節點小編介紹的"正則表達式語法總結",希望對大家有幫助,想了解更多可查看Java在線學習。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習