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