python re函式的常用方法

2021-08-07 02:19:39 字數 1111 閱讀 1503

剛學習python的正規表示式我還是有點懵逼的,不過沒關係,慢慢來,看到乙個知識點就吃乙個。

①re.match(arg0,arg1,arg2).span()arg0:表示式 arg1:原始字串 *arg2:flag即搜尋的標誌符號                           [其中span()方法是獲取到資料在原字串的位置]

②re.search(arg0,arg1,arg2).span() arg0:表示式 arg1:原始字串 *arg2:flag即搜尋的標誌符號                           [其中span()方法是獲取到資料在原字串的位置]

區別:match搜尋字串開頭如果不匹配表示式就返回none了。

而search會搜尋整個字串。

③re.sub(arg0,arg1,arg2,arg3,arg4)五個引數看起來就有點懵逼:arg0:表示式 arg1:需要替換的字串 arg2:原始字串 *arg3:替換的次數(0代表全部) *arg4:flag識別符號

例:#!/usr/bin/python

# -*- coding: utf-8 -*-

import

rephone= "

2004-959-559 # 這是乙個國外**號碼"

# 刪除字串中的 python注釋

num= re.

sub(r'

#.*$',

"", phone)

print

"**號碼是: ",

num

# 刪除非數字(-)的字串

num= re.

sub(r'

\d', "

", phone)

print

"**號碼是 : ",

num

**號碼是:

2004

-959

-559

**號碼是

:2004959559

其中的引數少了幾個?那是因為有可選的引數,帶星號的為可選引數,其中r是表示式的宣告 r'表示式'' ,也可以用 r'變數' 來達到動態的表示式。

.*經過我的測試意思是後面的字元 ,f.*意思是f後面的字元

Python re模組的常用方法

findall 功能 匹配字串中所有符合條件的 返回值 列表,會將所有匹配到的項加入到列表中返回 import re phone num 17344332233 待匹配的字串 regex r 1 3 9 d 匹配手機號使用的正則 ret re.findall regex,num print ret ...

python re模組常用方法

萬用字元 含義示例 匹配結果 reg1 reg2 匹配表示式reg1或者表示式reg2 foo bar bar.匹配除 n以外的任意字元 ab.b abdb 匹配字串起始部分 匹配字串終止部分 匹配0次或多次前面出現的正規表示式 匹配一次或多次前面出現的正規表示式 匹配0次或1次前面出現的正規表示式...

python re常用操作

預設匹配除 n之外的任意乙個字元,若指定flag dotall,則匹配任意字元,包括換行 匹配字元開頭,若指定flags multiline,這種也可以匹配上 r a nabc neee flags re.multiline 匹配字元結尾,或e.search foo bfoo nsdfsf flag...