1. 程式人生 > >re 模組中常用的元字元

re 模組中常用的元字元

元字元 描述
.(點號) 匹配除換行符(\n \r)以外的所有字元。要匹配包括“\r\n”在內的任何字元,使用“[\s\S]”的模式。
^ 從字串首位匹配。書寫時必須寫在首位,否則匹配為空。
$ 從字串末尾匹配。書寫時必須寫在末尾,否則匹配為空。
* 重複匹配任意多次(包括0次)。
+ 重複匹配任意多次(不包括0次)。
? 匹配0次或1次。
{n} n是一個非負整數。匹配確定的n次。
{n,} 至少匹配n次。
{n,m} m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次。
[xyz] 字符集。匹配字符集中任何一個字元。
[a-z] 字符集範圍。範圍內所有的字元都可以匹配。取消其元字元的功能(見註釋1)。
\ 反斜槓。使元字元失去特殊功能;使部分普通字元實現特殊功能(見註釋2)。
( ) 將( ) 之間的表示式定義為“組”(group),並且將匹配這個表示式的字元儲存到一個臨時區域。
| 將兩個匹配條件進行邏輯“或”(Or)運算。

註釋1 :如果在[ ]裡面出現其他的元字元,除例外情況(見注1),那麼會取消其元字元的功能,只是普通字元。
- :如果在[ ]裡面表示範圍,比如[a-z],則 -

有特殊意義,此時匹配時,不會匹配到 - ,如果此時還需要匹配 - ,那麼再在 [ ]裡面加一個 - (加在前後都可以)。
^ :與出現在中括號外的意思不同,如果 ^ 出現在中括號裡面,則表示取反的意思。比如 [^a,b] 表示除了 a , b(注意:這裡的’,’也是一個字元,沒有其他的意義) 以外所有的字元都匹配(包括換行符)。注意,如果字串中有\,在沒轉譯的時候,匹配的結果是 \\

註釋2\後面如果跟元字元,那麼元字元就失去它代表的特殊意義,變為普通字元。
例如 :* 本代表重複匹配任意多次, \* 就只表示 * 這個普通字元(注意 \**

\*\* 表達的是完全不同的兩個意思,自己動手試一試)。
\ 後面跟部分普通字元,會實現特殊意義。
例如 : \d 匹配任何十進位制的數,相當於 [0-9]
\D 匹配任何非數字字元,相當於 [^0-9]
\s 匹配任何空白字元,相當於 [ \t\n\r\f\v]
\S 匹配任何空白字元,相當於 [^ \t\n\r\f\v]
\w 匹配任何字母和數字字元,相當於 [0-9a-zA-Z]
\W 匹配任何字母和數字字元,相當於 [^0-9a-zA-Z]
\b 匹配一個特殊邊界(非任何字母和數字的都是特殊字元)。
比如 : ‘i am a big man’,用 r’i\b’ 去匹配,只能匹配到 一個 ‘i’ ,因為 ‘big’的’i’後面跟的是’g’,不是特殊字元,故匹配不到。(注意:用這種方法匹配,前面一定要加 ‘r’ 防止轉譯。’\b’也可以放到前面)

相關推薦

re 模組常用元字元

元字元 描述 .(點號) 匹配除換行符(\n \r)以外的所有字元。要匹配包括“\r\n”在內的任何字元,使用“[\s\S]”的模式。 ^ 從字串首位匹配。書寫時

Python面試題----Python 的re模組match、search、findall、finditer的區別

請簡要說明Python 的re模組中match、search、findall、finditer的區別 re是Python中用於正則表示式相關處理的類,這四個方法都是用於匹配字串的,具體區別如下: match 匹配string 開頭,成功返回Match object

Python使用re模組的match匹配提取字串

在正則表示式中 點號(.)可以匹配任意字元 星號(*)可以匹配任意個字元(包括0個) 加號(+)匹配至少一個字元 問號(?)匹配零或一個字元 {n}匹配n個字元 {n,m}匹配n-m個字元

re模組match物件的方法和屬性

 屬性和方法  說     明  Pos  搜尋的開始位置  Endpos  搜尋的結束位置  String  搜尋的字串  Re  當前使用的正則表示式的物件  Lastindex  最後匹配的組索引  Lastgroup  最後匹配的組名  group(index=0)

pythonre模組match的用法的見解

https://www.cnblogs.com/tina-python/p/5508402.html 這個網站有詳細的內容re.match(pattern, string, flags=0) 首先 pattern 是正則表示式,string是要匹配的字串,flag是標誌填寫r

【Python】re模組re.match和re.search用法總結

###Date: 2018-1-6 ###Author: SoaringLee ============================================================

re模組match物件的方法和屬性

match物件的方法和屬性 屬性和方法 描述 pos 搜尋的開始位置 endpos 搜尋的結束位置 string 搜尋

Python3,通過re模組的sub()和findall()2個方法提升爬蟲提取資料的效率

直接上Demo: 測試資料 - HTML: '''<div id=\"songs-list\">" "<h2 class=\"title\">各種汽車</h2>" "<p class=\"introduction\"&

python datetime、time、calendar模組常用的方法

python高階應用與資料分析學習筆記 06 # -*- coding: utf-8 -*- from datetime import * # 引入datetime模組 import

Python常用模組re,matplotlib,pandas,sys,mysql

模組是一個包含所有你定義的函式和變數的檔案,其後綴名是.py windows python -m pip install -U pip setuptools python -m pip install matplotlib python -m pip i

Pythonre模組常用函式

正則表示式(可以稱為REs,regex,regex pattens)是一個小巧的,高度專業化的程式語言,它內嵌於python開發語言中,可通過re模組使用。正則表示式的pattern可以被編譯成一系列的位元組碼,然後用C編寫的引擎執行。下面簡單介紹下正則表示式的語法。 正則

re模塊常用功能函數

sed pen call 理解 err erl cal 序列 port re模塊中常用功能函數 正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。 Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。

Python常用模組——re模組

  有些人在面臨問題的時候會想:“我知道,我將使用正則表示式來解決這個問題。”這讓他們面臨的問題變成了兩個。                                     —— Jamie Zawinski 首先我們對比一下兩段程式碼處理使用者輸入手機號的不同 1 pho

專案常用到思科的模組

思科的模組有很多,在專案中經常用到的有以下幾種。一、千兆模組1、千兆單模模組大體樣式如下圖:GLC-LH-SMD:單模10KM模組,工作溫度-5°C to 85°C 。GLC-EX-SMD:單模40KM模組,工作溫度-5°C to 85°C 。GLC-ZX-SMD:單模70KM模組,工作溫度-5°C to 8

python爬蟲系列(1.2-urllib模組request 常用方法)

一、request.Request方法的使用 上一章節中介紹了request.urlopen()的使用,僅僅的很簡單的使用,不能設定請求頭及cookie的東西,request.Request()方法就是進一步的包裝請求. 1、原始碼檢視引數 class Request: &nb

python程式設計os、os.path 模組關於檔案、目錄常用的函式使用方法

os模組中關於檔案/目錄常用的函式使用方法   函式名 使用方法 getcwd() 返回當前工作目錄 chdir(pat

python3,os.path模組常用的用法總結

第一部分 python3中,os.path模組下常用的用法總結 abspath 返回一個目錄的絕對路徑 Return an absolute path. >>> os.path.abspath("/etc/sysconfig/selinux") '/e

python常用模組

一,常用的模組 模組就是我們將裝有特定功能的程式碼進行歸類,從程式碼編寫的單位來看我們的程式,從小到大的順序: 一條程式碼<語句塊,<程式碼塊(函式,類)<模組我們所寫的所有py檔案都是模組   引入模組的方式     1,import 模組     2,from xxx impo

python常用模組

一.序列化 指:在我們儲存資料的時候,需要對我們的物件進行處理,把物件處理成方便儲存和傳輸的資料格式,這個就是序列化, 不同的序列化結果不同,但目的是一樣的,都是為了儲存和傳輸. 一,pickle.可以將我們python中的任意資料型別轉化成bytes並寫入到檔案中. 同樣也可以把檔案中寫好的byte

os、os.path 模組關於檔案、目錄常用的函式使用方法

我們第一節課就講過了,Python是跨平臺的語言,也即是說同樣的原始碼在不同的作業系統不需要修改就可以同樣實現。因此Python的作者就倒騰了OS模組這麼一個玩意兒出來,有了OS模組,我們不需要關心什麼作業系統下使用什麼模組,OS模組會幫你選擇正確的模組並呼叫。 os模組中關於檔案/目錄常用的函