一届慈、什么是正則表達式
正則表達式徒溪,又稱正規(guī)表示式、正規(guī)表示法金顿、正規(guī)表達式臊泌、規(guī)則表達式、常規(guī)表示法(英語:Regular Expression揍拆,在代碼中常簡寫為regex渠概、regexp或RE),是計算機科學的一個概念嫂拴。正則表達式使用單個字符串來描述高氮、匹配一系列匹配某個句法規(guī)則的字符串。在很多文本編輯器里顷牌,正則表達式通常被用來檢索、替換那些匹配某個模式的文本塞淹。
許多程序設(shè)計語言都支持利用正則表達式進行字符串操作窟蓝。
簡單來說正則表達式就是一個模板,可以用它匹配尋找到我們所需要的內(nèi)容饱普,如郵件格式运挫,手機號碼的格式要求。
二套耕、正則表達式快速學習
正則表達式的規(guī)則很多谁帕,對于初學者來說要記住的內(nèi)容太多。其實可以先掌握幾個基本就夠用了冯袍,多應(yīng)用幾次后再了解其他匈挖,就比較快了。
掌握4個符號 : . * + ? ()
- . 匹配除“\n”之外的任意字符
- 匹配前一個字符0次或無限次
- ? 匹配前一個字符0次或1次
- 匹配前一個字符1次或無限次
- () 當我們需要一段內(nèi)容的時候就用括號包圍起來康愤,不需要的內(nèi)容放在括號外儡循。
三、正則表達式學習
經(jīng)痴骼洌看择膝,經(jīng)常查
四、Python正則表達式使用
先掌握一個最常用方法:findall()
: 匹配所有符合規(guī)則的內(nèi)容检激,返回的是包含結(jié)果的列表肴捉。
#coding=utf-8
import re #引入正則表達式
####網(wǎng)頁的內(nèi)容可以從網(wǎng)頁獲取
myhtml='''
<head>
<meta name="description" content="簡書是一個優(yōu)質(zhì)的創(chuàng)作社區(qū)腹侣,在這里,你可以任性地創(chuàng)作齿穗,一篇短文傲隶、一張照片、一首詩缤灵、一幅畫……我們相信伦籍,每個人都是生活中的藝術(shù)家,有著無窮的創(chuàng)造力腮出。">
<meta name="keywords" content="簡書,簡書官網(wǎng),圖文編輯軟件,簡書下載,圖文創(chuàng)作,創(chuàng)作軟件,原創(chuàng)社區(qū),小說,散文,寫作,閱讀">
<title>簡書 - 創(chuàng)作你的創(chuàng)作</title>
<body>
</body>
'''
# 匹配出網(wǎng)頁中的title標簽中的內(nèi)容
title = re.findall('<title>(.*?)</title>',myhtml)
# 循環(huán)遍歷出來
for ti in title:
print ti
以下方法用得較少帖鸦,可以放到后面再理解。
search():
匹配并提取第一個符合規(guī)律的內(nèi)容胚嘲,返回一個正則表達式對象
sub():
替換符合規(guī)律的內(nèi)容作儿,返回替換后的值
正則表達式在線測試:http://tool.oschina.net/regex/