第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

什么是正則表達(dá)式

什么是正則表達(dá)式

什么是正則表達(dá)式
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

在正則表達(dá)式中,有一種意義特殊的構(gòu)造,即元字符。目前已知的元字符有很多,如 *、?、+ 和 {} 字符。其他字符在正則表達(dá)式語(yǔ)言中都有特殊的含義。這些字符包括:$ ^ . [ ( | ) ] 和 \。

.(句點(diǎn)或點(diǎn))元字符是最簡(jiǎn)單但最常用的一個(gè)字符。它可匹配任何單字符。如果要指定某些模式可包含任意組合的字符,使用句點(diǎn)非常有用,但一定要在特定長(zhǎng)度范圍內(nèi)。此外,我們知道表達(dá)式將對(duì)包含在較長(zhǎng)字符串中的所有模式進(jìn)行匹配,假如只需要精確匹配模式,又該怎么辦?這在驗(yàn)證方案中經(jīng)常出現(xiàn),例如,要確保用戶輸入的郵政編碼或電話號(hào)碼的格式正確。使用 ^ 元字符可指定字符串(或行)的開(kāi)始,使用 $ 元字符可指定字符串(或行)的結(jié)束。通過(guò)將這些字符添加到模式的開(kāi)始和結(jié)束處,可強(qiáng)制模式僅匹配精確匹配的輸入字符串。如果 ^ 元字符用在方括號(hào) [ ] 指定的字符類(lèi)的開(kāi)頭,也有特殊的含義。具體內(nèi)容見(jiàn)下。

\ (反斜杠)元字符既可根據(jù)特殊含義“轉(zhuǎn)義”字符,也可指定預(yù)定義集合元字符的實(shí)例。同樣,具體內(nèi)容見(jiàn)下。為了在正則表達(dá)式中包括文字樣式的元字符,必須使用反斜杠進(jìn)行“轉(zhuǎn)義”。例如,如果要匹配以“c:\”開(kāi)始的字符串,可使用:^c:\\。注意,要使用 ^ 元字符指出字符串必須以此模式作為開(kāi)始,然后用反斜杠元字符轉(zhuǎn)義文字反斜杠。

|(管道)元字符用于交替指定,特別用于在模式中指定“此或彼”。例如,a|b 將匹配包含“a”或“b”的任何輸入內(nèi)容,這與字符類(lèi) [ab] 非常類(lèi)似。

最后,括號(hào) ( ) 用于給模式分組。它允許使用限定符讓一個(gè)完整模式出現(xiàn)多次。為了便于閱讀,或分開(kāi)匹配特定的輸入部分,可能允許分析或重新設(shè)置格式。

使用目前提供的工具可以完成很多工作。但是,要使用 [0-9] 表示模式中的每個(gè)數(shù)值數(shù)字,或(更糟)使用 [0-9a-zA-Z]表示任何字母數(shù)字字符,還有一段相當(dāng)漫長(zhǎng)的過(guò)程。為了減輕處理這些常用但冗長(zhǎng)模式的痛苦,事先定義了預(yù)定義元字符集合。正則表達(dá)式的不同實(shí)現(xiàn)定義了不同的預(yù)定義元字符集合。這些預(yù)定義元字符的標(biāo)準(zhǔn)語(yǔ)法是,在反斜杠 \ 后跟一個(gè)或多個(gè)字符。多數(shù)預(yù)定義元字符只有一個(gè)字符,它們的使用很容易,是冗長(zhǎng)字符類(lèi)的理想替代字符。以下是兩個(gè)示例:\d 匹配所有數(shù)值數(shù)字,\w 匹配所有單詞字符(字母數(shù)字加下劃線)。例外情況是一些特定字符代碼匹配,此時(shí)必須指定所匹配字符的地址,如 \u000D 將匹配 Unicode 回車(chē)符。下面列出一些最常用的字符類(lèi)及其等效的元字符。(以上內(nèi)容取自.net正則表達(dá)式)

元字符 說(shuō)明與等效字符類(lèi)

\a 匹配鈴聲(警報(bào));\u0007

\b 匹配字符類(lèi)外的字邊界,它匹配退格字符,\u0008

\t 匹配制表符,\u0009

\r 匹配回車(chē)符,\u000D

\w 匹配垂直制表符,\u000B

\f 匹配換頁(yè)符,\u000C

\n 匹配新行,\u000A

\e 匹配轉(zhuǎn)義符,\u001B

\040 匹配 3 位 8 進(jìn)制 ASCII 字符。\040 表示空格(十進(jìn)制數(shù) 32)。

\x20 使用 2 位 16 進(jìn)制數(shù)匹配 ASCII 字符。此例中,\x2- 表示空格。

\cC 匹配 ASCII 控制字符,此例中是 ctrl-C。

\u0020 使用 4 位 16 進(jìn)制數(shù)匹配 Unicode 字符。此例中 \u0020 是空格。

\* 不代表預(yù)定義字符類(lèi)的任意字符都只作為該字符本身對(duì)待。因此,\* 等同于 \x2A(是文字 *,不是 * 元字符)。

\p{name} 匹配已命名字符類(lèi)“name”中的任意字符。支持名稱(chēng)是 Unicode 組和塊范圍。例如,Ll、Nd、Z、IsGreek、IsBoxDrawing 和 Sc(貨幣)。

\p{name} 匹配已命名字符類(lèi)“name”中不包括的文本。

\w 匹配任意單詞字符。對(duì)于非 Unicode 和 ECMAScript 實(shí)現(xiàn),這等同于 [a-zA-Z_0-9]。在 Unicode 類(lèi)別中,這等同于 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。

\W \w 的否定,等效于 ECMAScript 兼容集合 [^a-zA-Z_0-9] 或 Unicode 字符類(lèi)別 [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]。

\s 匹配任意空白區(qū)域字符。等效于 Unicode 字符類(lèi) [\f\n\r\t\v\x85\p{Z}]。如果使用 ECMAScript 選項(xiàng)指定 ECMAScript 兼容方式,\s 等效于 [ \f\n\r\t\v] (請(qǐng)注意前導(dǎo)空格)。

\S 匹配任意非空白區(qū)域字符。等效于 Unicode 字符類(lèi)別 [^\f\n\r\t\v\x85\p{Z}]。如果使用 ECMAScript 選項(xiàng)指定 ECMAScript 兼容方式,\S 等效于 [^ \f\n\r\t\v] (請(qǐng)注意 ^ 后的空格)。

\d 匹配任意十進(jìn)制數(shù)字。在 ECMAScript 方式下,等效于 Unicode 的 [\p{Nd}]、非 Unicode 的 [0-9]。

\D 匹配任意非十進(jìn)制數(shù)字。在 ECMAScript 方式下,等效于 Unicode 的 [\p{Nd}]、非 Unicode 的 [^0-9]。


查看完整回答
反對(duì) 回復(fù) 2018-09-22
  • 1 回答
  • 0 關(guān)注
  • 762 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)