溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Flex正則表達式中的通用規(guī)則有哪些

發(fā)布時間:2021-12-14 17:30:33 來源:億速云 閱讀:162 作者:小新 欄目:編程語言

這篇文章主要介紹了Flex正則表達式中的通用規(guī)則有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

首先讓我們看一下Flex正則表達式的概念和作用,F(xiàn)lex正則表達式(regularexpression)就是用一個“字符串”來描述一個特征,然后去驗證另一個“字符串”是否符合這個特征。

引言

Flex正則表達式(regularexpression)就是用一個“字符串”來描述一個特征,然后去驗證另一個“字符串”是否符合這個特征。比如表達式“ab+”描述的特征是“一個'a'和任意個'b'”,那么'ab','abb','abbbbbbbbbb'都符合這個特征。

Flex正則表達式可以用來:

(1)驗證字符串是否符合指定特征,比如驗證是否是合法的郵件地址。
(2)用來查找字符串,從一個長的文本中查找符合指定特征的字符串,比查找固定字符串更加靈活方便。
(3)用來替換,比普通的替換更強大。

Flex正則表達式學習起來其實是很簡單的,不多的幾個較為抽象的概念也很容易理解。之所以很多人感覺Flex正則表達式比較復雜,一方面是因為大多數(shù)的文檔沒有做到由淺入深地講解,概念上沒有注意先后順序,給讀者的理解帶來困難;另一方面,各種引擎自帶的文檔一般都要介紹它特有的功能,然而這部分特有的功能并不是我們首先要理解的。下面看一下Flex正則表達式中的其他通用規(guī)則。

1.其他通用規(guī)則

還有一些在各個Flex正則表達式引擎之間比較通用的規(guī)則,在前面的講解過程中沒有提到。

1.1表達式中,可以使用"\xXX"和"\uXXXX"表示一個字符("X"表示一個十六進制數(shù))

形式 字符范圍

\xXX
編號在0~255范圍的字符,比如:空格可以使用"\x20"表示

\uXXXX
任何字符可以使用"\u"再加上其編號的4位十六進制數(shù)表示,比如:"\u4E2D"


1.2在Flex正則表達式"\s","\d","\w","\b"表示特殊意義的同時,對應的大寫字母表示相反的意義

表達式可匹配

\S
匹配所有非空白字符("\s"可匹配各個空白字符)

\D
匹配所有的非數(shù)字字符

\W
匹配所有的字母、數(shù)字、下劃線以外的字符

\B
匹配非單詞邊界,即左右兩邊都是"\w"范圍或者左右兩邊都不是"\w"范圍時的字符縫隙


1.3在Flex正則表達式中有特殊意義,需要添加"\"才能匹配該字符本身的字符匯總

字符說明

^
匹配輸入字符串的開始位置。要匹配"^"字符本身,請使用"\^"

$
匹配輸入字符串的結尾位置。要匹配"$"字符本身,請使用"\$"

()
標記一個子表達式的開始和結束位置。要匹配小括號,請使用"\("和"\)"

[]
用來自定義能夠匹配'多種字符'的表達式。要匹配中括號,請使用"\["和"\]"

{}
修飾匹配次數(shù)的符號。要匹配大括號,請使用"\{"和"\}"

.
匹配除了換行符(\n)以外的任意一個字符。要匹配小數(shù)點本身,請使用"\."

?
修飾匹配次數(shù)為0次或1次。要匹配"?"字符本身,請使用"\?"

+
修飾匹配次數(shù)為至少1次。要匹配"+"字符本身,請使用"\+"

*
修飾匹配次數(shù)為0次或任意次。要匹配"*"字符本身,請使用"\*"

|
左右兩邊表達式之間"或"關系。匹配"|"本身,請使用"\|"

1.4括號"()"內的子表達式,如果希望匹配結果不進行記錄供以后使用,可以使用"(?:xxxxx)"格式

舉例1:表達式"(?\w)\1)+"匹配"abbccddefg"時,結果是"bbccdd"。括號"(?"范圍的匹配結果不進行記錄,因此"(\w)"使用"\1"來引用。

1.5常用的Flex正則表達式屬性設置簡介:Ignorecase,Singleline,Multiline,Global

表達式屬性說明

Ignorecase

默認情況下,表達式中的字母是要區(qū)分大小寫的。配置為Ignorecase可使匹配時不區(qū)分大小寫。有的表達式引擎,把"大小寫"概念延伸至UNICODE范圍的大小寫。

Singleline

默認情況下,小數(shù)點"."匹配除了換行符(\n)以外的字符。配置為Singleline可使小數(shù)點可匹配包括換行符在內的所有字符。

Multiline

默認情況下,表達式"^"和"$"只匹配字符串的開始①和結尾④位置。如:

①xxxxxxxxx②\n
③xxxxxxxxx④

配置為Multiline可以使"^"匹配①外,還可以匹配換行符之后,下一行開始前③的位置,使"$"匹配④外,還可以匹配換行符之前,一行結束②的位置。

Global

主要在將表達式用來替換時起作用,配置為Global表示替換所有的匹配。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Flex正則表達式中的通用規(guī)則有哪些”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI