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