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

首頁綜合 正文
目錄

柚子快報激活碼778899分享:正則表達(dá)式學(xué)習(xí)筆記

柚子快報激活碼778899分享:正則表達(dá)式學(xué)習(xí)筆記

http://yzkb.51969.com/

1. 資源鏈接

https://regex101.com/(很好用的測試正則表達(dá)式的工具)www.debuggex.comAI-Powered Regex Solver10 分鐘快速掌握正則表達(dá)式_嗶哩嗶哩_bilibili(入門學(xué)習(xí)視頻)

2.主要內(nèi)容

1. 元字符(Metacharacters)

元字符是正則表達(dá)式中具有特殊含義的字符,匹配特定的字符類型或位置。以下是一些常用的元字符:

.: 匹配任意單個字符(換行符除外)。^: 匹配字符串的開始。$: 匹配字符串的結(jié)束。*: 匹配前面的字符 0 次或多次。+: 匹配前面的字符 1 次或多次。?: 匹配前面的字符 0 次或 1 次。{n}: 精確匹配前面的字符 n 次。{n,}: 匹配前面的字符至少 n 次。{n,m}: 匹配前面的字符至少 n 次,至多 m 次。[]: 匹配方括號內(nèi)的任意一個字符,例如 [abc] 匹配 a、b 或 c。|: 或運(yùn)算符,匹配符號兩邊的任意一個模式,例如 a|b 匹配 a 或 b。(): 捕獲組,用于提取匹配的子串或在模式中應(yīng)用量詞。\: 轉(zhuǎn)義字符,用于匹配元字符本身或特殊的轉(zhuǎn)義序列。

1.1 限定符 (Quantifier)

限定符用于指定前面的字符或表達(dá)式在目標(biāo)字符串中出現(xiàn)的次數(shù)。

*: 匹配前面的字符 0 次或多次。+: 匹配前面的字符 1 次或多次。?: 匹配前面的字符 0 次或 1 次。{n}: 精確匹配 n 次。{n,}: 至少匹配 n 次。{n,m}: 匹配 n 到 m 次。

例如:

a*: 匹配 a 出現(xiàn) 0 次或多次。例如,"aaa" 或 "" 都可以匹配。a+: 匹配 a 出現(xiàn) 1 次或多次。例如,"a" 或 "aaa" 可以匹配,但 "" 無法匹配。a?: 匹配 a 出現(xiàn) 0 次或 1 次。例如,"a" 或 "" 可以匹配,但 "aa" 無法匹配。a{6}: 匹配 a 精確出現(xiàn) 6 次。例如,"aaaaaa" 可以匹配。a{2,6}: 匹配 a 出現(xiàn) 2 到 6 次之間。例如,"aa"、"aaa"、"aaaaaa" 可以匹配。a{2,}: 匹配 a 出現(xiàn)至少 2 次。例如,"aa" 或 "aaaaaa" 可以匹配。

1.2 或運(yùn)算符 (OR Operator)

或運(yùn)算符用于在正則表達(dá)式中創(chuàng)建多個可選項(xiàng)。

(a|b): 匹配 a 或 b 中的任意一個。例如,"a" 或 "b" 可以匹配。(ab)|(cd): 匹配 ab 或 cd 之一。例如,"ab" 或 "cd" 可以匹配。

1.3 字符類 (Character Classes)

字符類用于匹配一組字符中的任意一個。

[abc]: 匹配 a、b 或 c 中的任意一個字符。[a-c]: 匹配 a 到 c 之間的任意一個字符,這種形式用于表示字符的范圍。[a-fA-F0-9]: 匹配小寫字母 a 到 f、大寫字母 A 到 F 以及數(shù)字 0 到 9。這通常用于匹配十六進(jìn)制數(shù)字。[^0-9]: 匹配非數(shù)字字符。^ 在字符類中表示取反。

1.4 貪婪/懶惰匹配 (Greedy / Lazy Match)

貪婪匹配和懶惰匹配用于控制量詞的行為:

默認(rèn)情況下,量詞是貪婪的,這意味著它會盡可能多地匹配字符。例如,<.+> 會匹配盡可能多的字符。使用 ? 使量詞變?yōu)閼卸杵ヅ?,這樣它會盡可能少地匹配字符。例如,<.+?> 會匹配盡可能少的字符。

2. 常見轉(zhuǎn)義序列

\d: 匹配任何一個數(shù)字,相當(dāng)于 [0-9]。\D: 匹配任何一個非數(shù)字字符。\w: 匹配任何一個字母、數(shù)字或下劃線,相當(dāng)于 [a-zA-Z0-9_]。\W: 匹配任何一個非字母、數(shù)字或下劃線的字符。\s: 匹配任何一個空白字符(空格、制表符、換行符等)。\S: 匹配任何一個非空白字符。

3. 邊界匹配

^: 匹配字符串的開始。例如 ^Hello 匹配以 Hello 開頭的字符串。$: 匹配字符串的結(jié)束。例如 world$ 匹配以 world 結(jié)尾的字符串。\b: 匹配單詞邊界。例如 \bword\b 匹配完整的單詞 word。

圖片中顯示的內(nèi)容包括了一些正則表達(dá)式的核心概念和操作符,以下是這些概念的詳細(xì)講解:

4. 捕獲組和非捕獲組

捕獲組用于提取匹配到的子字符串:

(abc): 匹配 abc 并捕獲該匹配結(jié)果。(?:abc): 匹配 abc 但不捕獲該匹配結(jié)果(非捕獲組)。

捕獲組在正則表達(dá)式中非常有用,特別是在匹配并提取子字符串時。

5. 零寬斷言(Lookahead and Lookbehind)

零寬斷言用于匹配位置,而不是匹配字符,它們不會消耗字符。

(?=pattern): 正向先行斷言,匹配某個模式前的位置。(?!pattern): 負(fù)向先行斷言,匹配某個模式前不存在的位置。(?<=pattern): 正向后行斷言,匹配某個模式后的位置。(?

圖片中顯示的內(nèi)容包括了一些正則表達(dá)式的核心概念和操作符,以下是這些概念的詳細(xì)講解:

3. 應(yīng)用場景

匹配字符串: 通過正則表達(dá)式查找、驗(yàn)證特定的字符串模式。提取信息: 使用捕獲組從字符串中提取特定的信息。文本替換: 使用正則表達(dá)式替換文本中的某些部分。數(shù)據(jù)驗(yàn)證: 驗(yàn)證用戶輸入的數(shù)據(jù)格式是否正確,例如驗(yàn)證電子郵件、電話號碼等。

4. 示例和實(shí)踐

示例 1:匹配電子郵件地址

import re

email = "contact@example.com"

pattern = r'[\w\.-]+@[\w\.-]+'

match = re.match(pattern, email)

if match:

print("Valid email address:", match.group())

else:

print("Invalid email address")

示例 2:提取文本中的日期

import re

text = "Today's date is 2024-08-23."

pattern = r'\d{4}-\d{2}-\d{2}'

date = re.search(pattern, text)

if date:

print("Found date:", date.group())

else:

print("No date found")

示例 3:替換文本中的敏感信息

import re

text = "My credit card number is 1234-5678-9876-5432."

pattern = r'\d{4}-\d{4}-\d{4}-\d{4}'

safe_text = re.sub(pattern, "****-****-****-****", text)

print("Safe text:", safe_text)

示例 4:匹配 IPv6 地址

import re

# 示例中的IPv6地址

ipv6_address = "2001:0db8:85a3:0000:0000:8a2e:0370:7334"

# 匹配IPv6地址的正則表達(dá)式模式

pattern = r'([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})'

match = re.match(pattern, ipv6_address)

if match:

print("Valid IPv6 address:", match.group())

else:

print("Invalid IPv6 address")

[0-9a-fA-F]{1,4}: 匹配 1 到 4 個十六進(jìn)制數(shù)字(0-9,a-f,A-F)。:: 匹配冒號分隔符。([0-9a-fA-F]{1,4}:){7}: 匹配 7 組由冒號分隔的 1 到 4 個十六進(jìn)制數(shù)字。([0-9a-fA-F]{1,4}): 匹配最后一組 1 到 4 個十六進(jìn)制數(shù)字。

擴(kuò)展:

IPv6 地址的表示形式可能會有所不同,比如可以使用縮略表示法(雙冒號::),這種情況下,正則表達(dá)式會更復(fù)雜。如果要匹配完整的 IPv6 地址(包括可能的縮略表示),可以參考更復(fù)雜的模式,如:

pattern = r'(([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}){1,7})'

這個正則表達(dá)式考慮了 IPv6 地址中的縮寫形式,但實(shí)現(xiàn)起來比較復(fù)雜,通常可以借助專門的庫來解析和驗(yàn)證 IPv6 地址。

柚子快報激活碼778899分享:正則表達(dá)式學(xué)習(xí)筆記

http://yzkb.51969.com/

推薦文章

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

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

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

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

發(fā)布評論

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

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

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

文章目錄