一般字元
匹配自身
a,b,c…
a,b,c…
.匹配任意除換行符「\n」外的字元
a.cabc,acc,ac…
\轉義字元,使後乙個字元改變原來的意思
如果字串中有*需要匹配,可以用*
a\.c
a\\c
a.ca\c
[…]字符集,對應的位置可以是字符集中的任意字元。
字符集的內容既可以依次列出,也可以給頂範圍,
而第乙個字元為^abc表示除abc外的任意字元
字符集中要使用]等字元時,要使用\斜槓
a[bcd]e
abeace
ade
預定義字元
含義例子
匹配例項
\d數字:[0-9]
a\dc
a1c\d
非數字:[^\d]
a\dc
abc\s
空白字元:《空格》
a\sc
a c\s
非空白字元
a\sc
abc\w
單詞字元:[a-z0-9a-z]
a\wc
abc\w
非單詞字元:[^\w]
a\wc
a c
數量詞含義
例子匹配例項
*匹配前乙個字元0或多次abc*
ababccc
+匹配前乙個字元一次或多次abc+
abcabcccc
?匹配前乙個字元一次或零次
abc?
ababc
匹配前乙個字元m次
abcabbc
#匯入正則模組
import re
#字元匹配
text =
"anabddjajsajdsacdjhadcdjakskabc"
rs = re.findall(
'abc'
, text)
#普通字元匹配,第乙個引數為查詢的目標字串,而第二個引數為查詢範圍
rs1 = re.findall(
'a.c'
, text)
#特殊字元的匹配
rs2 = re.findall(
'a[bc]d'
, text)
#字符集匹配
rs3 = re.findall(
'a\d*'
,'a123'
)print
(rs)
print
(rs1)
#返回的是所有的目標的資料
print
(rs2)
print
(rs3)
返回值:返回與string中與pattern匹配結果相同的所有列表;
findall方法中分組功能的使用:
#findall方法中分組的使用
rs4 = re.findall(
'a.+bc'
,'a\nbc'
, re.dotall)
rs5 = re.findall(
'a(.+)bc'
,'a\nbc'
, re.dotall)
#分組print
(rs4)
print
(rs5)
#僅返回與小括號內容中相同的字元,外部字元僅用於定位,此時返回為「\n」
用於解決寫正則的時候,消除轉義序列或是不符合pep8 規範的問題。
#1.不使用r原串時,遇到轉義字元如何處理
rs6 = re.findall(
'a\nbc'
,'a\nbc'
)rs7 = re.findall(
'a\\nbc'
,'a\\nbc'
)#此時string中的\n為非轉義符
rs8 = re.findall(
'a\\\\nbc'
,'a\\nbc'
)print
(rs6)
#此時可以正常匹配
print
(rs7)
#此時匹配失敗
print
(rs8)
#此時匹配成功,在正規表示式中要匹配乙個轉義符需寫4個轉義符
#2.r原串就是在正則中消除轉義符帶來的影響
rs9 = re.findall(r'a\\nbc'
,'a\\nbc'
)print
(rs9)
#匹配成功
#1.請求疫情資料首頁
import requests
from bs4 import beautifulsoup
response = requests.get(
"")home_page = response.content.decode(
)soup = beautifulsoup(home_page,
'html.parser'
)script = soup.find(attrs=
)text = script.string
# print(text)
#2.使用正規表示式提取json字串
import re
json_str = re.findall(r"\[(.+)\]"
, text)[0
]#由於json字串返回的是乙個列表,我們這裡僅需要其第乙個元素
print
(json_str)
正規表示式簡介(微軟) 3 使用正規表示式
使用正規表示式 在典型的搜尋和替換操作中,必須提供要查詢的確切文字。這種技術對於靜態文字中的簡單搜尋和替換任務可能足夠了,但是由於它缺乏靈活性,因此在搜尋動態文字時就有困難了,甚至是不可能的。使用正規表示式,就可以 1.測試字串的某個模式。例如,可以對乙個輸入字串進行測試,看在該字串是否存在乙個 號...
正規表示式簡介及常用驗證例項
正則是指乙個用來描述或者匹配一系列符合某個句法規則的字串的單個字串。正規表示式語法格式 1 任意字元 除了 n之外 2 元字元 匹配字串開始的位置,不匹配任何字元 匹配字串結束的位置,不匹配任何字元 3 字元組 自定義字符集可以匹配 中包含的任意乙個字元。雖然可以是任意乙個,但只能是乙個。0 9 任...
正規表示式Re的用法(含例項)
正規表示式 正規表示式的常用操作符 操作符說明例項.表示任何單字元 字符集,對單個字元給出取值範圍 abc 表示a b c,a z 表示a到z單個字元 非字符集,對單個字元給出排除範圍 abc 表示非a或b或c的單個字元 前乙個字元0次或無限次擴充套件 abc 表示ab abc abcc abccc...