二十一 正規表示式

2022-07-21 05:03:12 字數 1949 閱讀 2718

正規表示式簡介

概念

正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯(可以用來做檢索,擷取或者替換操作)。

作用

1.給定的字串是否符合正規表示式的過濾邏輯(稱作「匹配」)。

2.可以通過正規表示式,從字串中獲取我們想要的特定部分。

3.還可以對目標字串進行替換操作。

'''

match的使用:re.match 嘗試從字串的起始位置匹配乙個模式,

如果不是起始位置匹配成功的話, match()就返回 none

re.match(pattern, string, flags=0)

re.search(pattern, string, flags=0) 指可以不從起始位置進行匹配

'''

import re

patter='ello'

word='hello python'

#mat=re.match(patter,word,flags=re.i)# re.i表示忽略大小寫

mat=re.search(patter,word,flags=re.i)

if mat is not none:

print(mat.group())

print(mat.start())

print(mat.span())

else:

print('匹配失敗')

'''

分組進行匹配

'''

#1使用()

# 匹配座機號010-444212,格式是區號是3或4位,號碼是5,8位

import re

# pattern=r'(\d)-([1-9]\d$)'

# s='010-678362'

# o=re.match(pattern,s)

# print(o)

# print(o.group())

# print(o.group(2))

# print(o.groups())

# print(o.groups()[1])

# #\num進行匹配

# pattern=r'<(.+)><(.+)>.+'

# s='htmlsss

'# o=re.match(pattern,s)

# print(o)

#起別名使用

pattern=r'<(?p.+)><(?p.+)>.+'

s='htmlsss

'o=re.match(pattern,s)

print(o)

貪婪模式和非貪婪

貪婪模式指 python 裡數量詞預設是貪婪的,總是嘗試匹配盡可能多的字元。非貪婪模式與貪婪相反,總是嘗試匹配盡可能少的字元,可以使用"*","?","+",""後面加上?,使貪婪變成非貪婪。

print('貪婪模式')

v= re.match(r'abc(\d+)','abc123')

print(v.group(1))

#非貪婪模式

print('非貪婪模式')

v= re.match(r'abc(\d+?)','abc123')

print(v.group(1))

java基礎(十一) 正規表示式

本文在閱讀一位大牛博主寫的一篇文章後,感覺深受其用,在此做個筆記總結學習一下,大牛博主位址為 在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串的需要。正規表示式就是用於描述這些規則的工具。換句話說,正規表示式就是記錄文字規則的 入門例子 例子1 假設你在一篇英文 裡查詢hi,你可以使...

python學習筆記 十一 正規表示式

一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹...

python學習筆記 十一 正規表示式

一.基礎知識 d 匹配乙個數字 w 匹配乙個字母或數字 匹配任意字元 表示任意個字元 表示至少乙個字元 表示0個或1個字元 表示n個字元,表示n m個字元 s 表示匹配乙個空格 包括tab等空白符 s 表示至少乙個空格 0 9a za z 可以匹配乙個數字 字母或者下劃線 0 9a za z 可以匹...