成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 一篇文章徹底搞懂python正則表達式

一篇文章徹底搞懂python正則表達式

熱門標簽:銀川電話機器人電話 怎么辦理400客服電話 高德地圖標注收入咋樣 沈陽防封電銷電話卡 企業(yè)微信地圖標注 鶴壁手機自動外呼系統(tǒng)違法嗎 地圖標注多個 萊蕪電信外呼系統(tǒng) B52系統(tǒng)電梯外呼顯示E7

前言

有時候字符串匹配解決不了問題,這個時候就需要正則表達式來處理。因為每一次匹配(比如找以什么開頭的,以什么結尾的字符串要寫好多個函數(shù))都要單獨完成,我們可以給它制定一個規(guī)則。

主要應用:爬蟲的時候需要爬取各種信息,使用正則表達式可以很方便的處理需要的數(shù)據(jù)。

1. 正則表達式的基本概念

  1. 使用單個字符串來描述匹配一系列符合某個語法規(guī)則的字符串。
  2. 是對字符串操作的一種邏輯公式。
  3. 應用場景:處理文本和數(shù)據(jù)。
  4. 正則表達式過程:依次拿出表達式和文本中的字符比較,如果每一個字符都能匹配,則匹配成功,否則失敗。

2. python的正則表達式re模塊

import re

匹配過程:r'imooc'是原字符串,先生成Pattern對象,從頭開始找,得到一個Match(或Search等)實例,最后有一個匹配結果。

# 用find和startswith找字符串
str1 = 'imooc python'
print(str1.find('11'))
-1
print(str1.find('imooc'))
0
print(str1.startswith('imooc'))
True

使用正則表達式:

import re
pa = re.compile(r'imooc')   #  compile生成一個pattern對象,r'imooc'讀原字符串,否則需要轉義
ma = pa.match(str1)  # 匹配不到返回為None,返回一個對象
print(ma)

re.Match object; span=(0, 5), match='imooc'>

print(ma.group())  # 返回一個字符串或字符串組成的元組ma.groups()
imooc

print(ma.span())  # 返回所在字符串的位置
print(ma.string)  # 返回原字符串
print(ma.re)     # 返回實例

(0, 5)
imooc python
re.compile('imooc')
# 匹配大小寫,后面加上大寫
pa = re.compile(r'imooc', re.I)
print(pa)

re.compile('imooc', re.IGNORECASE)

ma = pa.match('imooc python')
print(ma.group())

imooc
ma = pa.match('Imooc python')
print(ma.group())

Imooc
# 如果只有一個,可以直接生成一個match對象,也可以達到同樣的效果
ma = re.match(r'imooc', str1)
print(ma)
print(ma.group())

re.Match object; span=(0, 5), match='imooc'>
imooc

3. 正則表達式語法

基本語法:適用于多種語言。

(1)匹配單個字符

1)'.' 的匹配,可以匹配除了\n外所有字符

ma = re.match(r'a', 'a')
print(ma.group())

ma = re.match(r'a', 'b')
print(type(ma))  # 再調(diào)ma.group()則報錯

a
class 'NoneType'>

# 用.匹配字符
ma = re.match(r'.', 'b')
print(ma.group())

ma = re.match(r'.', '0')
print(ma.group())

b
0

# 匹配{}中的字符
ma = re.match(r'{.}', '{0}')
print(ma.group())
ma = re.match(r'{..}', '{01}')
print(ma.group())

{0}
{01}

2)[…]匹配字符集

# []匹配字符集
ma = re.match(r'{[abc]}', '{a}')
print(ma.group())
ma = re.match(r'{[abc]]}', 'hbft9j7')  # 匹配不到,則報錯
print(ma.group())
ma = re.match(r'{[a-z]]}', 'b9fnfhv')
print(ma.group()) # 匹配a-z中任意一個字符

{a}
nbj79vj

ma = re.match(r'{[a-zA-Z]}', '{A}')
print(ma.group())

{A}

ma = re.match(r'{[a-zA-Z0-9]}', '{0}')
print(ma.group())

{0}

3) \w 匹配a-zA-Z0-9, \W匹配非單詞字符

ma = re.match(r'{[\w]}', '{A}')
print(ma.group())

ma = re.match(r'{[\w]}', '{ }')
print(ma.group())  # 匹配不到

ma = re.match(r'{[\W]}', '{ }')
print(ma.group())

{A}
{ }

4)字符集[]匹配

ma = re.match(r'[[\w]]', '[a]')
print(ma.group())  # 匹配不到

# 匹配[]需要加轉義\

ma = re.match(r'\[[\w]\]', '[a]')
print(ma.group())
[a]

(2)匹配多個字符

1) *匹配

ma = re.match(r'[A-Z][a-z]', 'Aa')
print(ma.group())

ma = re.match(r'[A-Z][a-z]', 'A')
print(ma.group()) # 匹配不到

ma = re.match(r'[A-Z][a-z]*', 'Aa')
print(ma.group())

ma = re.match(r'[A-Z][a-z]*', 'Aagfagsagaha')
print(ma.group())

ma = re.match(r'[A-Z][a-z]*', 'Aa123')
print(ma.group())

Aa
A
Aagfagsagaha
Aa

2)+匹配

# 匹配下劃線或字符開頭的無限次
ma = re.match(r'[_a-zA-Z]+[_\w]*', '10')
print(ma.group())   # 匹配不到
ma = re.match(r'[_a-zA-Z]+[_\w]*', '_hte10')
print(ma.group())

_hte10

3)?匹配

# 匹配0-99,01則不對
 ma = re.match(r'[1-9]?[0-9]', '90')
print(ma.group())

ma = re.match(r'[1-9]?[0-9]', '9')
print(ma.group())

ma = re.match(r'[1-9]?[0-9]', '09')
print(ma.group())  # 只匹配到0

90
9
0

4){m} / {mn}匹配

# 匹配郵箱,匹配6次
ma = re.match(r'[a-zA-Z0-9]{6}', 'abc123')
print(ma.group())

abc123
ma = re.match(r'[a-zA-Z0-9]{6}', 'abc12')
print(ma.group()) # 少一個則匹配不到

ma = re.match(r'[a-zA-Z0-9]{6}', 'abc1234')
print(ma.group()) # 多則匹配前6個

abc123

ma = re.match(r'[a-zA-Z0-9]{6}@163.com', 'abc123@163.com')
print(ma.group())

abc123@163.com

# 匹配6-10位的郵箱
ma = re.match(r'[a-zA-Z0-9]{6, 10}@163.com', 'abc123@163.com')
print(ma.group())

4)*? /+? /??匹配 (盡可能少匹配)

ma = re.match(r'[0-9][a-z]*', '1abc')
print(ma.group())

ma = re.match(r'[0-9][a-z]*?', '1abc')
print(ma.group())  # 只匹配1

1abc
1

ma = re.match(r'[0-9][a-z]+?', '1abc')
print(ma.group()) # 只匹配一次

1a

(3)邊界匹配

ma = re.match(r'[\w]{4,10}@163.com', 'imooc@163.com')
print(ma.group())

imooc@163.com

ma = re.match(r'[\w]{4,10}@163.com', 'imooc@163.comabc')  # 后面加上abc,match從頭開始匹配,則可以找到
print(ma.group())

imooc@163.com

ma = re.match(r'[\w]{4,10}@163.com', 'imooc@163.comabc')
print(ma.group())  # 匹配不到
ma = re.match(r'^[\w]{4,10}@163.com', 'imooc@163.comabc')
print(ma.group())  # 匹配不到
ma = re.match(r'^[\w]{4,10}@163.com', 'imooc@163.com')
print(ma.group())  # 加上^和$,限制開頭結尾

imooc@163.com
# 指定開頭結尾
ma = re.match(r'\Aimooc[\w]*', 'imoocpython')
print(ma.group())
ma = re.match(r'\Aimooc[\w]*', 'iimoocpython')
print(ma.group())  # 匹配不到

imoocpython

(4)分組匹配

這里不再舉例。

4. re模塊相關方法使用

以上舉例都是match,從頭到尾匹配,查找子串就不合適了

# 在一個字符串中查找匹配
1:search(pattern, string, flags=0)

# 找到匹配,返回所有匹配部分的列表
2:findall(pattern, string, flags=0)

# 將字符串中匹配正則表達式得部分替換為其它,repl可以替換函數(shù)
3:sub(pattern, repl, string, count=0, flags=0)

# 根據(jù)匹配分割字符串,返回分割字符串組成的列表
4:split(pattern, string, maxsplit=0, flags=0)
# search
import re
str1 = 'imooc videonum = 1000'
print(str1.find('1000'))  # 數(shù)字改變則失效

17

info = re.search(r'\d+', str1)
print(info.group())

1000

str1 = 'imooc videonum = 10000'
info = re.search(r'\d+', str1)
print(info.group())

10000
# findall
# 當有多個數(shù)字時

str2 = 'a=100, b=200, c=300'
info = re.search(r'\d+', str2)
print(info.group())

100

info = re.findall(r'\d+', str2)
print(info.group())

[100, 200, 300]
# sub 替換
str3 = 'imooc videonum = 1000'
info = re.sub(r'\d+', '1001', str3)
print(info)

imooc videonum = 1001
# split
# 分割
str3 = 'imooc:C C++ Java'
print(re.split(r':| ', str4))

[imooc, C, C, Java]

以上即為python中的正則表達式的一些知識總結。

總結

到此這篇關于python正則表達式的文章就介紹到這了,更多相關python正則表達式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一篇文章帶你了解Python和Java的正則表達式對比
  • 超詳細講解python正則表達式
  • Python正則表達式保姆式教學詳細教程
  • python正則表達式查找和替換內(nèi)容的實例詳解

標簽:呼倫貝爾 烏魯木齊 安慶 呼倫貝爾 銀川 葫蘆島 三亞 湘西

巨人網(wǎng)絡通訊聲明:本文標題《一篇文章徹底搞懂python正則表達式》,本文關鍵詞  一篇,文章,徹底,搞懂,python,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一篇文章徹底搞懂python正則表達式》相關的同類信息!
  • 本頁收集關于一篇文章徹底搞懂python正則表達式的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品2区| www.亚洲人.com| 黑丝一区二区三区| 欧美性极品少妇精品网站| 激情伊人五月天| 欧美大胆视频| 国产福利视频在线观看| 欧美国产日韩在线观看| 久久一级大片| 中文字幕av影院| 24小时免费看片在线观看| 亚洲一区二区在线看| 一区二区三区在线视频播放| 福利在线一区二区| 国产在线拍偷自揄拍精品| av中文字幕一区二区| 成人黄色在线播放| 免费在线观看黄色小视频| 葵司免费一区二区三区四区五区| 成年网站在线| 成熟妇人a片免费看网站| 免费在线看一区| 在线亚洲高清视频| 天天摸天天做天天爽| 欧美亚视频在线中文字幕免费| 亚洲一区二区三区四区电影| 成人有码在线视频| 91激情视频在线观看| 国产丝袜一区| av观看久久| 久久久久久久久久综合| 亚洲一区二区在线免费| 在线亚洲观看| 国产精品女人网站| 国产视频自拍一区| 亚洲最大的av网站| 欧美在线免费观看亚洲| 欧美亚洲丝袜| 影音先锋黄色资源| 欧美午夜三级| 国产尤物av一区二区三区| 成人精品视频一区| 人成福利视频在线观看| 亚洲欧美网站在线观看| 日韩精品一页| 国产精品一卡| 国产视频1区2区3区| 99精品视频在线播放免费| 国产精品男人的天堂| 天天插天天射天天干| 日韩亚洲欧美高清| 国产乱码一区二区三区四区| 男女作爱免费网站| 欧美高清在线一区| 国产天堂视频| 国产情侣自拍av| 欧美大片一区二区三区| 亚洲性猛交xxxx乱大交| 日本三级欧美三级| 亚洲国产美女搞黄色| 国产精品91久久| 碰碰视频免费| 精品人妻少妇嫩草av无码专区| 粉嫩绯色av一区二区在线观看| 国产精品9999久久久久仙踪林| 欧美成人午夜视频| 丁香六月综合| 超碰97人人干| 免费在线观看你懂的| 欧美男男freegayvideosroom| 欧洲精品一区二区三区| 国产福利久久精品| 91美女免费看| 蜜桃999成人看片在线观看| 亚洲国产精品久久精品怡红院| 在线三级电影| 成人黄色电影在线| 在线观看亚洲欧美| 97se亚洲国产一区二区三区| 91久久精品国产91性色tv| 国产情侣在线视频| 一本一道dvd在线观看免费视频| 超碰人人cao| 久久久精品久久久久| 亚洲福利视频导航| 成人看av片| 欧美一区二区在线观看| 亚洲男人天堂2021| 国产在线精品视频| 电影91久久久| 不卡av在线网| 欧美专区国产专区| 免费人成黄页网站在线一区二区| 久久久久99人妻一区二区三区| 日韩中文在线不卡| 久久精品国产一区二区三| 欧美特级黄色片| 成人毛片在线观看| 啪啪免费网站| 不卡电影免费在线播放一区| 日韩主播视频在线| 美女禁区视频免费观看精选| 又黄又爽无遮挡| 美丽的小蜜桃4春潮| 三区四区不卡| 亚洲精品8mav| 欧洲精品一区二区三区久久| 国产精品狼人色视频一区| 亚洲承认在线| jizzjizz少妇亚洲水多| 在线看欧美日韩| 黄色片在线观看网站| 妺妺窝人体色WWW精品| 日本视频www色| 欧美大片免费| 久久久久国产精品视频| fc2人成共享视频在线观看| 精品国产18久久久久久洗澡| 超碰在线首页| 成av人片一区二区| 日本va欧美va精品发布| 日韩精品视频免费| www国产亚洲精品久久网站| 黄视频网站在线观看| 欧美熟妇激情一区二区三区| 欧美精品少妇| 亚洲精品动漫100p| 亚洲视频狠狠干| 亚洲一区二区不卡免费| 欧美日韩成人综合天天影院| 欧美激情三级免费| 欧美激情国产在线| 在线成人欧美| 国产日本欧美一区二区三区在线| 亚洲成a人片在线观看中文| 久久亚洲人体| 欧美日韩在线网站| 久久丝袜美腿综合| 午夜久久福利影院| 天天天天天天天天操| 日韩精品亚洲人成在线观看| 天堂中文在线网| 精品一区精品二区| 国产suv精品一区二区三区88区| 久久www免费人成看片高清| 91情侣在线视频| av成人动漫在线观看| 天天干天天做天天操| 色偷偷88欧美精品久久久| h网在线观看| 四虎永久免费在线观看| 日本欧美久久久久免费播放网| 中文字幕+乱码+中文字幕明步| 精品一区二区三区免费播放| 毛毛毛毛毛毛毛片123| 男插女视频久久久| 国产精品爽爽久久久久久| 114美女做爰视频在线| 欧美羞羞免费网站| 午夜影院在线视频| 免费黄网站观看| 亚洲免费黄色片| 国产精品18久久久久久vr| 精品国产乱码一区二区三区| 91视频你懂的| 伊人免费视频2| 欧美特级xxxxbbbb毛片| 丝袜美腿一区| 中文字幕自拍vr一区二区三区| 久久久久久久久久久久久女国产乱| 一区二区久久久久| 日本成人在线免费观看| 在线观看一二三区| 一区二区三区四区视频免费观看| 国产精品裸体瑜伽视频| www.视频在线.com| 欧美婷婷久久| 国产精品极品国产中出| 亚洲免费在线电影| 国产亚洲精品aa午夜观看| 成人嫩草影院免费观看| 777午夜精品福利在线观看| 久久久久久久久黄色| 清纯唯美一区二区三区| 在线综合+亚洲+欧美中文字幕| 精精国产xxxx视频在线动漫| 欧美成人一级| jizz在线观看视频| 欧美午夜小视频| 国产 国语对白 露脸| 四虎永久在线高清国产精品| 国产精品1024| 黄色亚洲免费| www.久久久久久久久久久| 国产精品乱码一区二区| 醉酒壮男gay强迫野外xx| 四季av在线一区二区三区| 亚洲黄色大片| 久久国产乱子伦精品| 在线观看中文| 国产性色一区二区| www视频免费| 性色av一区二区| 国产福利一区二区三区在线观看| 最新国产在线视频| 国产精品入口久久| 国产一区999| 不卡福利视频| 国产日产在线观看| 激情五月婷婷小说| 久久久国产综合精品女国产盗摄| 精品国精品国产自在久不卡| 依依成人综合网| 国产偷窥女洗浴在线观看亚洲| 国产a级黄色片| 亚洲精品3区| 一二三四视频在线中文| 亚洲免费人成在线视频观看| 国产精品一区二区不卡视频| 美女视频黄频大全不卡视频在线播放| 777奇米成人网| 日本成人7777| 亚洲网站三级| 性感少妇一区| 欧美成人毛片| 欧美群妇大交群的观看方式| 欧美亚洲视频在线看网址| 天堂在线视频播放| 97人人模人人爽人人喊38tv| 丰满肉嫩西川结衣av| 奇米色欧美一区二区三区| 亚洲欧洲精品天堂一级| 国产日韩欧美三区| 中文字幕丰满人伦在线| 亚洲男人第一天堂| 久久久久久久免费| 中字幕一区二区三区乱码| 红桃视频成人在线观看| 绯色av蜜臀vs少妇| 日本在线看片免费人成视1000| 欧美视频自拍偷拍| 欧美一级本道电影免费专区| 成人免费视频入口| 亚洲国产精品久久91精品| 国产精品成人久久久| 成人在线观看网址| 国产一区二区h| av网站有哪些| 亚洲女人被黑人巨大进入al| 操你啦视频分享| 日韩视频在线一区二区三区| 国产精品久久久久9999赢消| 丰满少妇高潮一区二区| 久久老女人爱爱| 亚洲女同精品视频| 国产精品久久久久久久久久ktv| 韩国三级电影一区二区| 精品久久久久久久久久岛国gif| 中文字幕在线永久在线视频| 手机看片福利日韩| 亚洲a区在线视频| 国产极品在线视频| 日本特黄一级片| 五月天丁香在线| 国产黄色一区二区| 99国产精品久久一区二区三区| 日韩在线视频免费播放| 韩国精品一区二区三区六区色诱| 国产福利一区二区三区视频| 欧美 日韩 国产 在线观看| 极品蜜桃臀肥臀-x88av| 欧美 日韩 国产在线| 国内精品400部情侣激情| 人妻无码中文字幕| 欧美国产亚洲精品久久久8v| 久久午夜色播影院免费高清| 精品乱子伦一区二区三区| 国产亚洲a∨片在线观看| 91精品国产自产在线观看永久| 在线一区二区日韩| 精品网站999| 亚洲成在人线在线播放| 日本在线不卡一区二区| 91性感美女视频| 伦理欧美一区| 久久99精品久久久久久国产越南| 国产裸体视频网站| 顶级黑人搡bbw搡bbbb搡| 1024在线播放| 亚洲一级毛片| 成人欧美一区二区三区白人| 中文字幕国产综合| 青娱乐免费在线视频| 亚洲欧美日韩一区二区三区四区| 国产精品入口福利| 国内精品视频在线播放| 国产黄视频在线观看| 欧美一级片黄色| 亚洲精品电影在线| 欧美综合另类| 成人在线观看网址| 亚洲精品国产精品粉嫩| 精品欧美一区二区精品少妇| 日韩电影大全在线观看| 欧美激情a在线| 国产免费一区二区三区四在线播放| 蜜臀av色欲a片无码精品一区| 国产精品网站入口| 日韩av不卡播放| 国产欧美日韩一区二区三区| 国产黄色免费网站| av在线之家电影网站| 美女午夜精品| 国产亚洲精品久| 26uuu另类亚洲欧美日本一| 国产高清精品久久久久| 黄色一区二区三区四区| av在线免费一区| 日韩大陆欧美高清视频区| 欧美综合国产精品久久丁香| 中文字幕欧美在线观看| 91理论电影在线观看| 最近中文字幕av免费高清| 成人3d漫画免费无遮挡软件| 日本不卡免费高清视频在线| 欧美日本一区二区高清播放视频| 老熟妇仑乱视频一区二区| 亚洲精品色婷婷福利天堂|