使用正規表示式替換任意字串的後4位為

2021-10-24 15:02:58 字數 1276 閱讀 5767

正規表示式中,「.」(點符號)匹配的是除了換行符「\n」以外的所有字元。但有時候我們需要匹配包括換行符在內的字元,經過一番搜尋,發現了幾種正規表示式匹配任意字元(包括換行符)的方法。

可以用 ([\s\s]) ,也可以用 「([\d\d])」、「([\w\w]*)」 來匹配,就可以匹配包括換行符在內的任意字元。

「^」 :^會匹配行或者字串的起始位置,有時還會匹配整個文件的起始位置。

「」

:」 :

」:會匹配行或字串的結尾

而且被匹配的字元必須是以this開頭有空格也不行,必須以regex結尾,也不能有空格與其它字元

「\b」 :不會消耗任何字元只匹配乙個位置,常用於匹配單詞邊界 如 我想從字串中「this is regex」匹配單獨的單詞 「is」 正則就要寫成 「\bis\b」

「\d」: 匹配數字,

例如要匹配乙個固定格式的**號碼以0開頭前4位後7位,如0737-5686123 正則:^0\d\d\d-\d\d\d\d\d\d\d$ 這裡只是為了介紹「\d」字元,實際上有更好的寫法會在 下面介紹。

「\w」:匹配字母,數字,下劃線。

例如我要匹配「a2345bcd__ttz」 正則:「\w+」 這裡的「+」字元為乙個量詞指重複的次數,稍後會詳細介紹。

「\s」:匹配空格

例如字元 「a b c」 正則:「\w\s\w\s\w」 乙個字元後跟乙個空格,如有字元間有多個空格直接把「\s」 寫成 「\s+」 讓空格重複

「.」:匹配除了換行符以外的任何字元

這個算是「\w」的加強版了「\w」不能匹配 空格 如果把字串加上空格用「\w」就受限了,看下用 「.」是如何匹配字元「a23 4 5 b c d__ttz」 正則:「.+」。

\w:匹配包括下劃線的任何單詞字元。類似但不等價於「[a-za-z0-9_]」,這裡的"單詞"字元使用unicode字符集。

\w:匹配任何非單詞字元。等價於「[^a-za-z0-9_]」。

如果用re.sub(r』[|\w]』, 『』, text) 會除掉所有的非單詞或者下劃線"",

如果用re.sub(r』[|\w]』, 『x』, text),會用『x』替換所有的』'和單詞字元

正規表示式匹配任意字串

匹配所有字串 9033 如使用9033 會得到num 但是如果帶換行符會失效,如果需要匹配包括換行符,則使用 s s 最開始以為.可以匹配任意字元,後來發現有問題,匹配不了換行符 n 查了下資料,用 s s 匹配可以 解釋 s空白符,s非空白符,所以 s s 是任意字元 使用正規表示式進行替換 回車...

正規表示式的字串替換方法

我有以下幾行 d projects qqq development qqq.mysol1.sln d www.cppcns.comprojects qqq qqqdevelopment qqqmysol2.sln d projects qqq development myinstaller.sln ...

python使用正規表示式實現字串替換

python的字串提供了replace方法,可以將子串替換成其他字串,例如下面的 name flask script name name.replace print name flask script替換的前提是清楚的知道哪些字串需要被替換,如果規則模糊了,replace方法就不奏效了,比如下面的字...