欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:學(xué)習(xí) 正則表達(dá)式詳解

柚子快報(bào)邀請(qǐng)碼778899分享:學(xué)習(xí) 正則表達(dá)式詳解

http://yzkb.51969.com/

正則表達(dá)式

正則表達(dá)式(Regular Expression),通常簡(jiǎn)稱為正則或正則表達(dá)式,是一種用于描述字符串模式的工具。它是由一系列字符和特殊字符組成的字符串,用于定義搜索模式或進(jìn)行字符串匹配、替換、提取等操作。

正則表達(dá)式提供了一種靈活、強(qiáng)大且通用的方式來處理文本。它可以用于各種編程語言和文本編輯器中,例如Python、Java、JavaScript等,幾乎所有語言很多場(chǎng)景都可以用到正則表達(dá)式。

使用正則表達(dá)式,可以進(jìn)行以下操作:

匹配:檢查一個(gè)字符串是否與指定的模式匹配。搜索:在一個(gè)字符串中搜索滿足指定模式的內(nèi)容。替換:將字符串中滿足指定模式的部分替換為其他內(nèi)容。提?。簭囊粋€(gè)字符串中提取出滿足指定模式的內(nèi)容。

正則表達(dá)式使用一些特殊字符和語法來表示不同的匹配規(guī)則,例如:

字符匹配:使用普通字符表示匹配該字符本身。字符類:使用方括號(hào) [] 表示匹配指定范圍內(nèi)的字符。量詞:使用特殊字符表示匹配字符出現(xiàn)的次數(shù),如 *、+、?、{}。邊界匹配:使用特殊字符表示匹配字符串的邊界或位置,如 ^、$、\b。分組:使用圓括號(hào) () 表示將一組字符作為一個(gè)單元進(jìn)行匹配或提取。

正則表達(dá)式的語法和特性因不同的實(shí)現(xiàn)和工具而略有差異,但基本的概念和常用的模式匹配規(guī)則是通用的。

學(xué)習(xí)工具推薦:

下載與安裝

你可以使用以下兩種方式中的任意一個(gè)來下載安裝正則表達(dá)式測(cè)試器,這個(gè)工具源文本內(nèi)容不能輸入太多,要么有時(shí)候會(huì)匹配不成功。

安裝版

下載 Regester安裝程序解壓后運(yùn)行 RegesterSetup.zh.exe 綠色版

下載 Regester解壓后運(yùn)行 Regester.exe如果無法啟動(dòng),請(qǐng)自行下載安裝 Microsoft .Net Framework 4.8 后再試

常見正則表達(dá)式命令和參數(shù)解釋:

.(點(diǎn)號(hào)):匹配除換行符外的任意字符。

示例:a.b 可以匹配 “aab”、“acb”、“adb” 等,但不匹配 “a\nb”。 *:匹配前面的字符零次或多次。

示例:ab*c 可以匹配 “ac”、“abc”、“abbc” 等。 +:匹配前面的字符一次或多次。

示例:ab+c 可以匹配 “abc”、“abbc” 等,但不匹配 “ac”。 ?:匹配前面的字符零次或一次。

示例:ab?c 可以匹配 “ac”、“abc”,但不匹配 “abbc”。 [](字符類):匹配方括號(hào)內(nèi)的任意字符。

示例:[abc] 可以匹配 “a”、“b”、“c” 中的任意一個(gè)字符。 [^](否定字符類):匹配不在方括號(hào)內(nèi)的任意字符。

示例:[^abc] 可以匹配除了 “a”、“b”、“c” 以外的任意字符。 \d:匹配任意數(shù)字字符(0-9)。

示例:\d+ 可以匹配一個(gè)或多個(gè)數(shù)字字符。 \w:匹配任意字母、數(shù)字或下劃線字符。

示例:\w+ 可以匹配一個(gè)或多個(gè)字母、數(shù)字或下劃線字符。 \s:匹配任意空白字符(空格、制表符、換行符等)。

示例:\s+ 可以匹配一個(gè)或多個(gè)空白字符。 ^:匹配字符串的開頭。

示例:^abc 可以匹配以 “abc” 開頭的字符串。 $:匹配字符串的結(jié)尾。

示例:abc$ 可以匹配以 “abc” 結(jié)尾的字符串。 ()(分組):將字符組合成一個(gè)單元,可以對(duì)其進(jìn)行操作。

示例:(ab)+ 可以匹配 “ab”、“abab”、“ababab” 等。

零寬斷言匹配示例:

零寬斷言(Zero-width assertions)是正則表達(dá)式中的一種特殊語法,用于在匹配過程中對(duì)位置進(jìn)行條件限制,而不匹配實(shí)際的字符。它們被稱為零寬度斷言,因?yàn)樗鼈儾粫?huì)消耗字符串中的字符,僅用于確定匹配發(fā)生的位置。

零寬斷言分為正向斷言(Lookahead)和負(fù)向斷言(Lookbehind)兩種類型。正向斷言用于指定位置后面的條件,負(fù)向斷言用于指定位置前面的條件。

正向肯定預(yù)查(Positive Lookahead):

(?=abc):匹配后面緊跟著 “abc” 的位置。示例:a(?=bc) 可以匹配 “a”,但只有在后面跟著 “bc” 的情況下才匹配成功。 正向否定預(yù)查(Negative Lookahead):

(?!abc):匹配后面不緊跟著 “abc” 的位置。示例:a(?!bc) 可以匹配 “a”,但只有在后面不跟著 “bc” 的情況下才匹配成功。 負(fù)向肯定預(yù)查(Positive Lookbehind):

(?<=abc):匹配前面緊跟著 “abc” 的位置。示例:(?<=ab)c 可以匹配 “c”,但只有在前面緊跟著 “ab” 的情況下才匹配成功。 負(fù)向否定預(yù)查(Negative Lookbehind):

(?

貪婪匹配非貪婪匹配

貪婪匹配(Greedy matching)和非貪婪匹配(Non-greedy matching)是正則表達(dá)式中量詞(匹配內(nèi)容多還是少)的匹配模式。

貪婪匹配

是指在滿足匹配條件的前提下,盡可能多地匹配字符。它會(huì)盡量擴(kuò)展匹配的范圍,直到無法再匹配為止。貪婪匹配使用量詞 +、*、{n,} 等,默認(rèn)情況下都是貪婪匹配。

例如:正則表達(dá)式 a+ 會(huì)盡量匹配連續(xù)重復(fù)的字符 “a”,直到遇到不是 “a” 的字符為止。

非貪婪匹配

是指在滿足匹配條件的前提下,盡可能少地匹配字符。它會(huì)盡量縮小匹配的范圍,以便允許后續(xù)的匹配得到滿足。非貪婪匹配使用量詞后面添加 ? 來表示。例如,正則表達(dá)式 a+? 會(huì)匹配盡可能少的連續(xù)重復(fù)的字符 “a”,以滿足匹配的條件。

通過比較貪婪匹配和非貪婪匹配,可以更好地控制正則表達(dá)式的匹配行為。貪婪匹配通常用于盡可能多地捕獲匹配的內(nèi)容,而非貪婪匹配通常用于盡可能少地匹配,特別是在需要處理嵌套結(jié)構(gòu)或提取特定部分的情況下非常有用。

貪婪匹配示例:

正則表達(dá)式:[a-z]+ 輸入字符串:abcdefg 匹配結(jié)果:abcdefg 解釋:貪婪匹配會(huì)盡可能多地匹配小寫字母。在這個(gè)示例中,正則表達(dá)式 [a-z]+ 匹配了整個(gè)字符串 abcdefg,因?yàn)樗梢云ヅ湟粋€(gè)或多個(gè)連續(xù)的小寫字母。 非貪婪匹配示例:

正則表達(dá)式:[a-z]+? 輸入字符串:abcdefg 匹配結(jié)果:a 解釋:非貪婪匹配使用 ? 后綴來指示盡可能少地匹配小寫字母。在這個(gè)示例中,正則表達(dá)式 [a-z]+? 只匹配了第一個(gè)小寫字母 “a”,因?yàn)樗M可能少地匹配滿足條件的字符。 貪婪匹配和非貪婪匹配的比較:

正則表達(dá)式:“.+” 輸入字符串:“Hello” “World” 匹配結(jié)果(貪婪匹配):“Hello” “World” 匹配結(jié)果(非貪婪匹配):“Hello” 解釋:貪婪匹配會(huì)盡可能多地匹配字符,因此 “.+” 會(huì)匹配整個(gè)字符串 “Hello” “World”。而非貪婪匹配則盡可能少地匹配字符,因此 “.+?” 只匹配了第一個(gè)字符串 “Hello”。 貪婪匹配和非貪婪匹配的比較:

正則表達(dá)式:[0-9]+ 輸入字符串:12345 匹配結(jié)果(貪婪匹配):12345 匹配結(jié)果(非貪婪匹配):12345 解釋:無論是貪婪匹配還是非貪婪匹配,正則表達(dá)式 [0-9]+ 都會(huì)匹配整個(gè)字符串 12345,因?yàn)樗梢云ヅ湟粋€(gè)或多個(gè)連續(xù)的數(shù)字。

正則表達(dá)式練習(xí)題:

匹配郵箱地址: 正則表達(dá)式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 示例輸入:example@example.com

^:表示匹配字符串的開頭。

\w+:表示匹配一個(gè)或多個(gè)字母、數(shù)字或下劃線,這部分匹配了郵箱地址的用戶名部分。

([-+.]\w+)*:表示匹配一個(gè)連字符、加號(hào)或句點(diǎn)后跟一個(gè)或多個(gè)字母、數(shù)字或下劃線的組合,這部分匹配了用戶名中的特殊字符及后續(xù)字符,可以重復(fù)零次或多次。

@:表示匹配郵箱地址中的@

\w+:表示匹配一個(gè)或多個(gè)字母、數(shù)字或下劃線,這部分匹配了郵箱地址的域名中的名稱部分。

([-.]\w+)*:表示匹配一個(gè)連字符或句點(diǎn)后跟一個(gè)或多個(gè)字母、數(shù)字或下劃線的組合,這部分匹配了域名中的特殊字符及后續(xù)字符,可以重復(fù)零次或多次。 .:表示匹配郵箱地址中的點(diǎn)號(hào)(.),需要使用反斜杠進(jìn)行轉(zhuǎn)義。

\w+:表示匹配一個(gè)或多個(gè)字母、數(shù)字或下劃線,這部分匹配了郵箱地址中的頂級(jí)域名部分。

([-.]\w+)*:表示匹配一個(gè)連字符或句點(diǎn)后跟一個(gè)或多個(gè)字母、數(shù)字或下劃線的組合,這部分匹配了頂級(jí)域名中的特殊字符及后續(xù)字符,可以重復(fù)零次或多次。 $:表示匹配字符串的結(jié)尾。

匹配手機(jī)號(hào)碼(簡(jiǎn)化版): 正則表達(dá)式:^\d{11}$ 示例輸入:12345678901

^:表示匹配字符串的開頭。 \d:表示匹配一個(gè)數(shù)字。 {11}:表示前面的元素(即數(shù)字)必須連續(xù)重復(fù)11次。 $:表示匹配字符串的結(jié)尾。

匹配日期(格式為YYYY-MM-DD): 正則表達(dá)式:^\d{4}-\d{2}-\d{2}$ 示例輸入:2023-08-09

^:表示匹配字符串的開頭。 \d:表示匹配一個(gè)數(shù)字。 {4}:表示前面的元素(即數(shù)字)必須連續(xù)重復(fù)4次,即匹配4位數(shù)字的年份。 -:表示匹配連字符。 \d{2}:表示前面的元素(即數(shù)字)必須連續(xù)重復(fù)2次,即匹配2位數(shù)字的月份。 -:表示匹配連字符。 \d{2}:表示前面的元素(即數(shù)字)必須連續(xù)重復(fù)2次,即匹配2位數(shù)字的日期。 $:表示匹配字符串的結(jié)尾。

匹配URL(以http或https開頭): 正則表達(dá)式:^(http|https)://[^\s/$.?#].[^\s]*$ 示例輸入:https://www.example.com

^:表示匹配字符串的開頭。 (http|https):使用括號(hào)和豎線(|)表示分組,表示匹配 http 或 https。 ?/:表示匹配 ?/ 字符串。 [^\s/$.?#]:表示匹配任意不是空白字符、斜杠、問號(hào)、點(diǎn)號(hào)或井號(hào)的字符。 .:表示匹配一個(gè)任意字符。 [^\s]*:表示匹配零個(gè)或多個(gè)任意不是空白字符的字符。 $:表示匹配字符串的結(jié)尾。

匹配整數(shù)(包括正負(fù)整數(shù)): 正則表達(dá)式:^-?\d+$ 示例輸入:-123

^:表示匹配字符串的開頭。 -?:表示匹配可選的負(fù)號(hào)(減號(hào))。- 表示匹配一個(gè)負(fù)號(hào),? 表示前面的元素(即負(fù)號(hào))可選。 \d+:表示匹配一個(gè)或多個(gè)數(shù)字。 $:表示匹配字符串的結(jié)尾。

匹配英文句子(以句號(hào)結(jié)尾): 正則表達(dá)式:^[A-Z][^.!?]*\.$ 示例輸入:This is a sentence.

^:表示匹配字符串的開頭。 [A-Z]:表示匹配一個(gè)大寫字母。 [^.!?]*:表示匹配零個(gè)或多個(gè)非句號(hào)、非問號(hào)和非感嘆號(hào)的字符。這個(gè)部分用于匹配句子中除了句號(hào)以外的其他內(nèi)容。 .:表示匹配句號(hào)。需要使用反斜杠進(jìn)行轉(zhuǎn)義,因?yàn)榫涮?hào)在正則表達(dá)式中是一個(gè)特殊字符。 $:表示匹配字符串的結(jié)尾。

匹配HTML標(biāo)簽(包括屬性): 正則表達(dá)式:<([a-z]+)(\s[a-z]+\s*=\s*"[^"]*")*\s*>.*<\/\1>$ 示例輸入:

This is a div.
匹配結(jié)果:匹配成功

<([a-z]+):表示匹配以 < 開始的標(biāo)簽,并捕獲標(biāo)簽名。 [a-z]+ 表示匹配一個(gè)或多個(gè)小寫字母。 (\s[a-z]+\s*=\s*"[^"]*")*:表示匹配零個(gè)或多個(gè)屬性,每個(gè)屬性由一個(gè)或多個(gè)小寫字母組成的屬性名、可選的空白字符、等號(hào)、可選的空白字符、以及由雙引號(hào)包圍的屬性值組成。這部分用于匹配標(biāo)簽中的屬性。 \s*>:表示匹配以空白字符結(jié)尾并以 > 結(jié)束的標(biāo)簽起始部分。 .*:表示匹配零個(gè)或多個(gè)任意字符,用于匹配標(biāo)簽內(nèi)的內(nèi)容。 :表示匹配以 結(jié)束的結(jié)束標(biāo)簽。 \1 表示引用第一個(gè)捕獲組中的標(biāo)簽名。

匹配IP地址(簡(jiǎn)易版): 正則表達(dá)式:^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$ 示例輸入:192.168.0.1 匹配結(jié)果:匹配成功

^:表示匹配字符串的開頭。 \d{1,3}:表示匹配一個(gè)由 1 到 3 位數(shù)字組成的部分。 .:表示匹配一個(gè)點(diǎn)號(hào)(.)。需要使用反斜杠進(jìn)行轉(zhuǎn)義,因?yàn)辄c(diǎn)號(hào)在正則表達(dá)式中是一個(gè)特殊字符。 .:表示匹配任意字符。 $:表示匹配字符串的結(jié)尾。

匹配郵政編碼(6位數(shù)字): 正則表達(dá)式:^\d{6}$ 示例輸入:123456 匹配結(jié)果:匹配成功

^:表示匹配字符串的開頭。 \d{6}:表示匹配六個(gè)連續(xù)的數(shù)字。 \d:表示匹配一個(gè)數(shù)字。 {6}:表示前面的元素(即數(shù)字)重復(fù)出現(xiàn)六次。 $:表示匹配字符串的結(jié)尾。

匹配用戶名(由字母、數(shù)字、下劃線組成,長(zhǎng)度為4-16位): 正則表達(dá)式:^[a-zA-Z0-9_]{4,16}$ 示例輸入:user_123 匹配結(jié)果:匹配成功

^:表示匹配字符串的開頭。 [a-zA-Z0-9_]:表示匹配一個(gè)字母(大小寫)、數(shù)字或下劃線字符。 {4,16}:表示前面的元素(即字母、數(shù)字或下劃線)重復(fù)出現(xiàn) 4 到 16 次,限制了字符串的長(zhǎng)度范圍。 $:表示匹配字符串的結(jié)尾。

我們?yōu)槭裁葱枰獙W(xué)習(xí)正則表達(dá)式:

文本處理和搜索: 正則表達(dá)式是一種強(qiáng)大的工具,可用于在文本中進(jìn)行搜索、匹配、替換和提取操作。它們可以幫助你快速有效地處理和操縱文本數(shù)據(jù)。 模式匹配和驗(yàn)證: 正則表達(dá)式是用于匹配和驗(yàn)證特定模式的工具。你可以使用它們來驗(yàn)證輸入數(shù)據(jù)的格式、匹配特定模式的字符串,例如郵箱地址、URL、電話號(hào)碼等。 編程和腳本語言支持: 正則表達(dá)式在許多編程語言和腳本語言中都有廣泛的支持,包括 Python、JavaScript、Java、C#等。了解正則表達(dá)式可以幫助你在編程中更好地處理字符串操作。 文本編輯器和IDE: 許多文本編輯器和集成開發(fā)環(huán)境(IDE)都支持正則表達(dá)式搜索和替換功能。掌握正則表達(dá)式可以提高你在編碼和文本編輯過程中的效率。 數(shù)據(jù)清洗和提?。?在數(shù)據(jù)處理和清洗過程中,正則表達(dá)式可以幫助你快速提取、篩選和轉(zhuǎn)換數(shù)據(jù)。它們特別適用于處理大量文本數(shù)據(jù)或具有特定格式的數(shù)據(jù)。 網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取: 當(dāng)你需要從網(wǎng)頁(yè)或其他來源中抓取數(shù)據(jù)時(shí),正則表達(dá)式可以幫助你定位和提取所需的信息。它們是構(gòu)建簡(jiǎn)單的網(wǎng)絡(luò)爬蟲和數(shù)據(jù)抓取工具的有用工具。

學(xué)習(xí)正則表達(dá)式可以提升你在文本處理、模式匹配、數(shù)據(jù)清洗和編程方面的技能。它們是處理和操作文本的強(qiáng)大工具,廣泛應(yīng)用于軟件開發(fā)、數(shù)據(jù)分析、文本處理等領(lǐng)域。掌握正則表達(dá)式將為你提供更多的靈活性和能力來處理和操作各種類型的文本數(shù)據(jù)。

柚子快報(bào)邀請(qǐng)碼778899分享:學(xué)習(xí) 正則表達(dá)式詳解

http://yzkb.51969.com/

文章鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18359876.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄