Python字串匹配之6種方法的使用詳解

2022-10-04 17:39:12 字數 1633 閱讀 2963

1. re.match 嘗試從字串的起始位置匹配乙個模式,如果不是起始位置匹配成功的話,match()就返回none。

import re

line="this hdr-biz 123 model server 456"

pattern程式設計客棧=r"123"

matchobzhsnxiwtcj = re.match( pattern, line)

2. re.search 掃瞄整個字串並返回第乙個成功的匹配。

import re

line="this www.cppcns.comhdr-biz model server"

pattern=r"hdr-biz"

m = re.search(pattern, line)

3. python 的re模組提供了re.sub用於替換字串中的匹配項。

import re

line="this hdr-biz model args= server"

patt=r'args='

name = re.sub(patt, "", line)

4. compile 函式用於編譯正規表示式,生成乙個正規表示式( pattern )物件,供 match() 和 search() 這兩個函式使用。

import re

pattern = re.compile(r'\d+')

5. re.findall 在字串中找到正規表示式所匹配的所有子串,並返回乙個列表,如果沒有找到匹配的,則返回空列表。

import re

line="this hdr-biz model args= server"

patt=r'server'

pattern = re.compile(patt)

result = pattern.findall(line)

6. re.finditer 和 findall 類似,在字串中找到正規表示式所匹配的所有子串,並把它們作為乙個迭代器返回。

import re

it = re.finditer(r"\d+","12a32bc43jf3")

for match in it:

print (match.group() )

ps:python字串匹配及正規表示式說明

解析url位址正規表示式:

regexp = (r'^(?p[a-z][\w\.\-\+]+)?:(//)?zhsnxiwtc'

r'(?:(?p\w+):(?p[\w\w]+)@|)'

r'(?p[\w-]+(?:\.[\w-]+)*)(?::(?p\d+))?/?'

r'(?p\/[\w\.\/-]+)?(?p\?[\w\.*!=&@%;:/+-]+)?'

r'(?p#[')

match = re.search(regexp, url.strip(), re.u)

if match is none:

raise valueerror('incorrent url: '.format(url))

url_parts = match.groupdict()

url='明細/79654372'

print(url_parts):

總結本文標題: python字串匹配之6種方法的使用詳解

本文位址:

python字串 6 Python 字串

50 split 分割 i love python split i love python 51 replace 替換 i tlove tpython replace t i,love,python 52 反轉字串 我花費40分鐘做出上面這幅圖,做ppt能力真有待增強,不過總算開頭了,接下來繼續練習...

字串匹配之kmp

kmp主要就是計算字首函式e q max return m void kmp char s,char p int n strlen s int m prefixcomp p,e int k 0 for int i 1 i n i putchar n 習題 試說明如何通過檢查字串pt的字首函式e,來確...

PHP之字串匹配

1 strstr string,search strstr 函式搜尋乙個字串在另乙個字串中的第一次出現。該函式返回字串的其餘部分 從匹配點 如果未找到所搜尋的字串,則返回 false。string 必需。規定被搜尋的字串。search 必需。規定所搜尋的字串。如果該引數是數字,則搜尋匹配數字 asc...