柚子快報(bào)激活碼778899分享:正則表達(dá)式
柚子快報(bào)激活碼778899分享:正則表達(dá)式
文章目錄
一、概念二、用法自查2.1 字符直接匹配2.3 字母或數(shù)字匹配2.2 特殊匹配2.4 匹配次數(shù)2.5 匹配位置2.6 分組和捕獲2.7 轉(zhuǎn)義
三、舉例3.1 郵箱3.2 日期3.3 提取關(guān)鍵字后的數(shù)字
總結(jié)
感覺沒啥必要積累了,建議有需求直接gpt,文章內(nèi)容看個(gè)樂子吧:)
一、概念
正則表達(dá)式(Regular Expression,regex 或 regexp)是一種用于描述字符串模式的工具。它是通過(guò)定義字符串的特定模式來(lái)查找、匹配和處理文本的一種方法。 正則表達(dá)式通常用于文本處理、數(shù)據(jù)驗(yàn)證、搜索和替換。
二、用法自查
2.1 字符直接匹配
普通字符,如 a, b, 1, &, @,直接匹配相應(yīng)的字符。括號(hào)除外,括號(hào) () 有捕獲組的含義
2.3 字母或數(shù)字匹配
[abc]: 匹配字符 a、b 或 c 中的任何一個(gè)。 [a-z]: 匹配任何小寫字母。 [0-9]: 匹配任何數(shù)字字符。
2.2 特殊匹配
.: 匹配任何單個(gè)字符(除換行符外)。 \d: 匹配任何數(shù)字字符(\d 的作用等于 [0-9])。 \D: 匹配任何非數(shù)字字符。 \w: 匹配任何字母、數(shù)字或下劃線(等于 [a-zA-Z0-9_])。 \W: 匹配任何非字母、非數(shù)字或非下劃線字符。 \s: 匹配任何空白字符(包括空格、制表符、換行符等)。 \S: 匹配任何非空白字符。
2.4 匹配次數(shù)
*: 匹配前面的元素零次或多次,通常和 .* 一起使用。 +: 匹配前面的元素一次或多次。 ?: 匹配前面的元素零次或一次。 {n}: 匹配前面的元素恰好 n 次。 {n,}: 匹配前面的元素至少 n 次。 {n,m}: 匹配前面的元素至少 n 次,最多 m 次。
2.5 匹配位置
^: 匹配字符串的開始。 $: 匹配字符串的結(jié)束。 \b: 匹配單詞邊界。 \B: 匹配非單詞邊界。
2.6 分組和捕獲
(): 用于分組和捕獲。分組允許你對(duì)多個(gè)字符進(jìn)行操作(如量詞),捕獲可以提取匹配的子字符串。 (?:...): 用于非捕獲分組,即僅進(jìn)行分組,不捕獲匹配的內(nèi)容。
2.7 轉(zhuǎn)義
用于轉(zhuǎn)義特殊字符,使其被視為普通字符,例如 \. 匹配點(diǎn)號(hào)本身。
三、舉例
3.1 郵箱
匹配郵箱地址:qiuyujiancqupt@163.com
^\w+@\w+\.\w+$
^ 表示開始 \w+ 表示一個(gè)或多個(gè)字母、數(shù)字或下劃線 @ 表示字符 @ \w+ 表示域名部分 \. 表示點(diǎn)號(hào) \w+ 表示頂級(jí)域名 $ 表示結(jié)束
3.2 日期
匹配日期格式 YYYY-MM-DD,并捕獲年、月、日。
(\d{4})-(\d{2})-(\d{2})
3.3 提取關(guān)鍵字后的數(shù)字
需提取溫度后的溫度值:temperature: 23.5 (C) 使用正則表達(dá)式提?。?/p>
match = re.search(r': (.*) \(C\)', line)
r' xxxx ' 兩個(gè)分號(hào)中間的字符串表示為“原始字符串”(忽略反斜杠 \ 的轉(zhuǎn)義功能) : 匹配冒號(hào)加空格,這意味著搜索的目標(biāo)字符串中應(yīng)該有一個(gè)冒號(hào)和一個(gè)空格。 (.*) ------() 小括號(hào)表示一個(gè)捕獲組。為了將匹配的內(nèi)容提取(溫度值)。 ------.* 點(diǎn)號(hào)表示匹配盡可能多的字符(除了換行符),直到下一個(gè)明確的匹配符號(hào)。 \(C\) 圓括號(hào)需要用反斜杠來(lái)轉(zhuǎn)義(否則就成了捕獲組了),故\( 和 \) 用來(lái)匹配圓括號(hào)本身。C 是普通字符,所以它將匹配字母 C。
故此行python代碼中的正則表達(dá)式匹配的模式是:
從左往右,匹配一個(gè)冒號(hào)加空格 : ,由 .* 匹配一段盡可能多的字符\(C\) 迫使 .* 停止匹配,因?yàn)?\(C\) 是下一個(gè)必須匹配的部分。最后是 (C)。
總結(jié)
持續(xù)更新積累
柚子快報(bào)激活碼778899分享:正則表達(dá)式
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。