正則表達式[Regex Expression]:又稱之為規(guī)則表達式,是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為"元字符"),是計算機科學的一個概念,用于查詢代碼/文本、分割代碼/文本、替換代碼/文本、提取代碼/文本,在c#、JavaScript、Java、Python、Ruby語言中所被支持。
公司主營業(yè)務:成都網(wǎng)站設計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出東阿免費做網(wǎng)站回饋大家。元字符表
字符匹配符 | |||
符號 | 含義 | 舉例 | 說明 |
\d | 數(shù)字匹配,匹配0到9的數(shù)字 | \d | 匹配一個0-9及以內(nèi)任意數(shù)字字符 |
\D | 非數(shù)字匹配,不匹配0到9的數(shù)字 | \D | 匹配一個不是0-9及以內(nèi)任意數(shù)字字符 |
\w | 數(shù)字、字母、下滑線匹配 | \w | 匹配一個0-9或a-z或A-Z或_中任意一個字符 |
\W | 非數(shù)字、字母、下滑線匹配 | \W | 匹配一個不是0-9或a-z或A-Z或_中任意一個字符 |
\s | 匹配任何空白字符,包括空格、制表符、換頁符等 | \s | 匹配空白、空格、制表符、換頁符等任意一個字符 |
\S | 匹配任何非空白字符,包括空格、制表符、換頁符等 | \S | 匹配不是空白、空格、制表符、換頁符等任意一個字符 |
匹配一個換行符。等價于?\x0a | 匹配一個換行符 | ||
\f | 匹配一個換頁符。等價于?\x0c | \f | 匹配一個換頁符 |
\t | 匹配一個制表符。等價于\x09 | \t | 匹配一個制表符 |
\v | 匹配一個垂直制表符。等價于\x0b | \v | 匹配一個垂直制表符 |
\cx | 匹配由 x 指明的控制字符。 | \cJ | 匹配一個換行符 匹配一個換頁符 匹配一個回車符 |
\xn | 匹配兩個十六進制數(shù)字表示的ASCLL編碼字符 | \x41 | 匹配一個A字符 |
\un | 匹配四個十六進制數(shù)字表示的Unicode字符 | \u00A9 | 匹配一個版權符? |
定位符 | |||
符號 | 含義 | 舉例 | 說明 |
^ | 脫字符起始匹配,匹配字符串開始字符 | ^a | 匹配一個以a開頭的字符及字符串 |
$ | 美元符號結尾匹配,匹配字符串結束字符 | $a | 匹配一個以a結尾的字符及字符串 |
\b | 英語單詞邊界匹配 | e\b | 匹配一個以e結尾的單詞,例如: |
\B | 英語單詞非邊界匹配 | a\b | 匹配一個以a開頭的單詞,例如: |
限定符 | |||
符號 | 含義 | 舉例 | 說明 |
? | 匹配次數(shù)至少0次,最多1次 | \d? | 匹配零個或一個數(shù)字字符 |
* | 匹配次數(shù)至少0次,最多上限次 | \d* | 匹配一個或多個數(shù)字字符 |
+ | 匹配次數(shù)至少1次,最多上限次 | \d+ | 匹配一個或多個數(shù)字字符 |
{n} | 等次數(shù)匹配n次 | \d{10} | 匹配10個數(shù)字字符 |
{n,m} | 匹配次數(shù)至少n次,最多m次 | \d{5,10} | 匹配5個到10及以內(nèi)的數(shù)字字符 |
{n,} | 匹配次數(shù)至少n次,最多上限次 | \d{5,} | 匹配5個到及以上的數(shù)字字符 |
選擇符 | |||
符號 | 含義 | 舉例 | 說明 |
| | 或選擇符 | [a|b] | 匹配一個字符串中包含a或b的字符或字符串 |
[] | 隨機選擇符 | [abc123] | 匹配一個字符串中包含abc123其中一個字符 |
分組符 | |||
符號 | 含義 | 舉例 | 說明 |
() | 括號分組符 | (\d)(\w) | 匹配字符串中的第一組包含一個數(shù)字字符,第二組包含一個數(shù)字、字母、下劃線中任意一個字符。 例如:31、3a、3A、3_ |
捕獲分組 | |||
符號 | 含義 | 舉例 | 說明 |
(pattern) | 非命名捕獲 | (\d) | 匹配一個組號為1的數(shù)字字符 |
(? | 命名捕獲 | (? | 匹配第一組名group1或組號為1的數(shù)字字符及第二組組名group2或組號為2的數(shù)字/字母/下劃線字符。 |
非捕獲分組 | |||
符號 | 含義 | 舉例 | 說明 |
(?:pattern) | 選擇非命名捕獲 | (?:y|ies) | 匹配一個字符串中包含y或者ies |
(?=pattern) | 等值非命名捕獲 | (?=95|98|NT|2000) | 匹配一個字符串中只能包含: |
(?!pattern) | 非等值非命名捕獲 | (?!95|98|NT|2000) | 匹配一個字符串中不能包含: |
(?<=pattern) | 反向等值非命名捕獲 | (?<95|98|NT|2000) | 匹配一個字符串中以95、98、NT、2000開頭的字符串 |
(?<=!pattern) | 反向非等值非命名捕獲 | (?<=!95|98|NT|2000) | 匹配一個字符串中不是以95、98、NT、2000開頭的字符串 |
特殊匹配字符 | |||
符號 | 含義 | 舉例 | 說明 |
. | 點匹配符,匹配除換行符\n\r之外的字符 | . | 匹配除了了換行符\n\r以外的一個所有字符。例如:數(shù)字字符、字母字符、下劃線、制表符、換頁符等 注:一個點匹配符只能對應一個字符;二個點匹配符只能對應兩個字符。[除了換行符] |
\ | 轉義字符 | \\ | 匹配一個反斜杠符。 |
- | 連字符 | [0-9] [a-z] | 匹配一個0-9及以內(nèi)的數(shù)字字符。 |
^ | 非字符,取反字符 | [^0-9] [^a-z] | 匹配一個不是0-9及以內(nèi)的數(shù)字字符。 |
內(nèi)部反向引用符 | |||
符號 | 含義 | 舉例 | 說明 |
\\分組號 | 匹配分組之后的第多少組 | (d)\\1(a-z)\\2 | 匹配兩個相同的數(shù)字及兩個相同的小寫字母 例如:11aa、22bb、33xx |
\\分組名 | 匹配分組之后的第多少組 | (? | 匹配兩個相同的數(shù)字及兩個相同的小寫字母 例如:11aa、22bb、33xx |
外部反向引用符 | |||
符號 | 含義 | 舉例 | 說明 |
$分組號 | 匹配分組之后的第多少組 | 先有內(nèi)部反向引用表達式:(d)\\1(a-z)\\2 | 先匹配兩個相同的數(shù)字及兩個相同的小寫字母 例如:11aa、22bb、33xx 之后又從已有的內(nèi)部反向引用進行了外部反向引用操作,結果為:1a、2b、3x 22bb內(nèi)部反向引用對應2b外部反向引用。 33xx內(nèi)部反向引用對應3x外部反向引用。 注: |
$分組名 | 匹配分組之后的第多少組 | 先有內(nèi)部反向引用表達式:(? | 先匹配兩個相同的數(shù)字及兩個相同的小寫字母 例如:11aa、22bb、33xx 之后又從已有的內(nèi)部反向引用進行了外部反向引用操作,結果為:1a、2b、3x 22bb內(nèi)部反向引用對應2b外部反向引用。 33xx內(nèi)部反向引用對應3x外部反向引用。 注: |
模式匹配符 | |||
符號 | 含義 | 舉例 | 說明 |
i | 不區(qū)分大小寫 | 正則表達式:/hello/i 被匹配的字符串:heLLO HELLO | 它只會首次滿足條件的匹配:heLLO字符串 |
g | 全局匹配 | 正則表達式:/hello/g 被匹配的字符串:hello heLLO hello HELLO | 它只會匹配一行中的所有hello字符串 |
m | 多行匹配 | 正則表達式:/hello/m | 他會匹配所有行中的所有hello字符串 |
s | 點匹配符中包含換行符 | 正則表達式:/hello/s 被匹配的字符串:hello\nhello\thello | 他只會匹配首次出現(xiàn)的hello |
若其中讀者發(fā)現(xiàn)了有錯或有爭論的問題,肯請讀者指出并加以改正,謝謝。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧