1. 程式人生 > >Python使用正則表示式例子

Python使用正則表示式例子

###正則表示式有什麼用?

  1. 正則表示式的恰當運用可以提高查詢效率
  2. 減少程式碼量,便於維護
  3. 簡單易學,適用於所有程式語言

###下面來看一些例子

import re

s = '38x1x234x35x612x3yxxx'

patten1 = re.compile("x.*x") #返回一個,中間重複x
print '1\n',patten1.findall(s)
patten2 = re.compile("x\w.*?x") #中間至少有一個字元.xx不行
print '2\n',patten2.findall(s)
patten3 = re.compile("x.*?x")  #返回多個.不重複
print '3\n',patten3.findall(s)
patten4 = re.compile("x+(.*?[xy])") #以x開頭但開頭不包含x,結尾以x或y結束
print '4\n',patten4.findall(s)

執行結果:

1
['x1x234x35x612x3yxxx']
2
['x1x', 'x35x', 'x3yx']
3
['x1x', 'x35x', 'x3yx', 'xx']
4
['1x', '35x', '3y', 'x']特殊情況只有一個字元開頭和結果都是x

###實際應用解析html
得到所有連結

import re
def fomatLink(content):
    pattenLink = re.compile('''[(src)(href)]=["'](.*?)['"]''')
    links = pattenLink.findall(content)
    return links

s = '''<a href="http://news.4399.com/hxjy/"><img alt="4399火線精英" src="http://imga5.5054399.com/upload_pic/2017/9/20/4399_15094597623.jpg">4399火線精英</a>'''

print fomatLink(s)

執行結果:

['http://news.4399.com/hxjy/', 'http://imga5.5054399.com/upload_pic/2017/9/20/4399_15094597623.jpg']

相關推薦

Python使用表示式例子

###正則表示式有什麼用? 正則表示式的恰當運用可以提高查詢效率 減少程式碼量,便於維護 簡單易學,適用於所有程式語言 ###下面來看一些例子 import re s = '38x1x234x35x612x3yxxx' patten1 = re.comp

Python表示式的簡單應用和示例演示

前一陣子小編給大家連續分享了十篇關於Python正則表示式基礎的文章,感興趣的小夥伴可以點選連結進去檢視。今天小編給大家分享的是Python正則表示式的簡單應用和示例演示,將前面學習的Python正則表示式做一個概括。 下面的栗子是用於提取高考日期,一般來說,我們填寫日期都會寫2018年6月7日,但

Python表示式初識(九)

繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是[\u4E00-\u9FA5],這個特殊字元最好能夠記下來,如果記不得的話通過百度也是可以一下子查到的。 該特殊字元是固定的寫法,其代表的意思是漢字。換句話說,只要字元中是漢字,就可以通過該字元進行匹配,該特殊字元也是用中括號括起來的。

Python 表示式:compile,match

本文以匹配×××ID為例,介紹re模組的compile與match的用法 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +       

Python 表示式模組詳解

由於最近需要使用爬蟲爬取資料進行測試,所以開始了爬蟲的填坑之旅,那麼首先就是先系統的學習下關於正則相關的知識啦。所以將下面正則方面的知識點做了個整理。語言環境為Python。主要講解下Python的Re模組。 下面的語法我就主要列出一部分,剩下的在python官網直接查閱即可:docs.python.org

Python 表示式:search

本文介紹re模組的search的用法 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +         re.search(

Python | 表示式的常見用法

正則表示式的常見用法分為兩塊內容,第一部分是一般具有正則的高階語言都支援的功能,第二部分講解Python所獨特具備的正則特性。   Part 1 正則表示式是由普通字元(例如字元a到z)以及特殊字元(稱為“元字元”)組成的文字模式。模式用於在搜尋文字時要匹配一個或多個字串。

python 表示式找出字串中的純數字

1、簡單的做法 >>> import re >>> re.findall(r'\d+', 'hello 42 I'm a 32 string 30') ['42', '32', '30'] 然而,這種做法使得字串中非純數字也會識別 >

python 表示式 簡介

python 正則表示式 簡介 1.正則表示式:描述字串排列的一套規則 2.可以使用正則表示式提取出所有滿足規則的字串 3.在python中使用re模組是實現在python正則表示式的功能 正則表示式的基礎知識: 1.原子 2.元字元 3.模式修正 原子 :原子是正則表示式中最基

Python 表示式:findall

本文以匹配×××IP為例,介紹re模組的findall的用法: 返回值->列表 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +      &

Python表示式:re模組

正則表示式: 使用單個字串來描述、匹配一系列匹配某個句法規則的字串正則表.通常被用來檢索、替換那些符合某個模式(規則)的文字.python自1.5起提供了re模組,它提供了perl風格的正則表示式. re模組簡介 re.match函式 功能 嘗試從字串的起始位置開始匹配一個模式,如

Python 表示式:sub

作用:替換字串中的某字串 本文以 ‘×××’掩蓋手機號部分數字 為例,介紹re模組的sub的用法: 返回值 -> 列表 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化              +&n

python表示式學習筆記

正則表示式 學習資源:https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books-zh.md 正則表達例子: |    A|B 

python 表示式匹配特定浮點數

  def is_decimal(num): import re    #以數字開頭,小數點後保留1位數字或兩位數字或者沒有小數部分 dnumre = re.compile(r"""^[0-9]+(\.[0-9]{1,2})?$""") result = d

python--表示式的實戰

正則表示式是在re模組裡的,所以需要事前匯入re模組,re模組裡面的search()方法用於在字串中搜索正則表示式模式第一次出現的位置。 注意:下標從0開始,原字串前面需要加入r'原字串' 上圖因為.號可以匹配除了換行符之外的任何字元,所以它匹配了I,也就是第一個字元

PYthon 表示式設定大小寫匹配

  在python中經常會需要區分大小寫,在此介紹一種最常用的設定方法: 一:確定要匹配的文字 text="[email protected],[email protected],[email protected]"   &

Python 表示式:split

作用:用正則表示式的字元分割字串,正則的字元會被拋棄。 本文以 提取URL的地址與引數 為例,介紹re模組的split的用法: 返回值 -> 列表 複雜匹配 = re.compile(正則表示式): 將正則表示式例項化          &nb

Python表示式做文字預處理,去掉特殊符號

在進行文字訓練和處理之前難免要進行下預處理,過濾掉沒有用的符號等,簡單用python 的正則表示式過濾一下。 #!/usr/bin/python # encoding: UTF-8 import re # make English text clean def clean_en_text(te

關於python表示式中匹配分組的問題

在爬取網頁資訊時,我們不妨會用到Python正則表示式。之前一直沒有太明白關於正則表示式匹配分組的問題,今天終於搞清楚了,所以特意寫一下讓自己印象深刻。 myPage = requests.get(url).content.decode("gbk") 通過requests我們在網頁得到了這樣

Python表示式【轉載】

這是轉載的文章,原文章地址如下: Python 正則表示式入門(初級篇). 引子 首先說 正則表示式是什麼? 正則表示式,又稱正規表示式、正規表示法、正規表示式、規則表示式、常規表示法(英語:Regular Expression,在程式碼中常簡寫為regex、rege