python正則表達式url
Ⅰ python 正則表達式提取字典中的imUrl的value值
對於你給的字元串,可以被看作一個字典,所以可以按照鍵值來提取imUrl的value值,也可以用正則表達式提取imUrl的value值.
兩種方法我都寫出來了,你看看吧,要用哪種方法,你自己決定.(因為回答問題不能出現鏈接,所以我把imUrl的value值改成了'imUrl鏈接',意思是一樣的)
第一種方法
data={'asin': '0000037214', 'related': {'also_viewed': ['B00JO8II76', 'B00DGN4R1Q', 'B00E1YRI4C']}, 'title': 'Purple Sequin Tiny Dancer Tutu Ballet Dance Fairy Princess Costume Accessory', 'price': 6.99, 'salesRank': {'Clothing': 1233557}, 'imUrl': 'imUrl鏈接', 'brand': 'Big Dreams','categories': [['Clothing, Shoes & Jewelry', 'Girls'], ['Clothing, Shoes & Jewelry', 'Novelty, Costumes & More', 'Costumes & Accessories', 'More Accessories', 'Kids & Baby']]}
print(data['imUrl'])
源代碼(注意源代碼的縮進)
Ⅱ python的正則表達式
1,正則表達式的一些內容
正則表達式主要是用來匹配文本中需要查找的內容,例如在一片文章中找出電話號碼,就中國的來說11位純數字(不說座機),則使用"d{11}" 意味匹配數字11次,就能准確的查找出文本中的電話號碼. 還有就是在編寫網路爬蟲的時候需要提取很多超鏈接再次進行爬取,使用正則表達式就很方便.直接匹配http開頭就行,當然也可以使用beautifulsoup的select方法.
看下面的程序看看正則表達提取文本中的郵箱:
w 匹配字母,數字,下劃線
+ 匹配1次或者多次
re是正則表達式的工具包,工具包出錯的話在anaconda的命令行輸入"pip install re"安裝,其他的工具包也是如此.
re.compile()中的r示意不是轉義字元,也就是保持後面字元串原樣,findall返回一個列表.下面還有一個版本的程序略有不同.
compile的另一個參數re.IGONORECASE(忽略大小寫),還可以是re.DORALL,多行模式,具體功能也是模糊不清,不過在使用通配符 . 匹配的時候加上re.DOTALL參數能夠匹配換行.如果希望忽略大小寫和多行模式都開啟可以使用re.compile(r'....',re.IGNORECASE|re.DOTALL) .
表達式使用( ),對匹配到的內容分為3組 也就是(w+)出現字母,數字,下劃線一次或多次,這個分組就是下面使用match對象的grou()方法的時候的參數.不給參數和參數0都是得到整個匹配到的內容, 參數1得到第一個括弧匹配到的內容,以此類推參數2和3,如果沒有括弧分組的話使用參數會出現錯誤.
search( )查找和正則式匹配的內容,只匹一次後面的那個找不到.返回一個match對象
w 匹配字母,數字,下劃線
W 匹配字母,數字.下劃線之外的所有字元
d 匹配數字
D 匹配非數字
s 匹配空格,製表符,換行符
S匹配除空格製表符,換行符之外的其他字元
[ .... ]定義自己的匹配,如[aeiouAEIOU ]匹配所有的母音字母,注意不是匹配單詞.
{最少次數,最多次數},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默認為匹配最多次數(貪心匹配),非貪心模式在後面加上問號
? 可選 0次或者1次吧
+匹配1次或多次
*匹配0次或者多次
^ 判斷開頭 ^d 如果待匹配串是數字開頭則返回第一個數字
$判斷結尾 d$ 如果待匹配串是數字結尾則返回最後一個數字
. 通配符,匹配除換行之外的所有字元
d{11} 匹配數字11次
. * 匹配所有字元除 換行
[a-zA-Z0-9._%+-] 小寫和大寫字母、數字、句點、下劃線、百分號、加號或短橫
[a-zA-Z]{2,4} 匹配字母 2 - 4次
Ⅲ 請問如何使用python的正則表達式提取url鏈接
importre
m=re.search(r'//[0-9A-Za-z./]+',url)
具體要考慮連接里的字元,以及其他地方的正文字元
Ⅳ python正則表達式是什麼
Python正則表達式是一個特殊的字元序列,是一種用來匹配字元串的強有力的武器。它的設計思想是用一種描述性的語言來給字元串定義一個規則,凡是符合規則的字元串,我們就認為它「匹配」了,否則,該字元串就是不合法的。
判斷一個字元串是否是合法的Email的方法是:
1、創建一個匹配Email的正則表達式;
2、用該正則表達式去匹配用戶的輸入來判斷是否合法。
因為正則表達式也是用字元串表示的,所以,要首先了解如何用字元來描述字元。
在正則表達式中,如果直接給出字元,就是精確匹配。用 d 可以匹配一個數字, w 可以匹配一個字母或數字。
Ⅳ python3 正則表達式如何匹配多段內容,舉例如下:(中間需要通配掉許多字元)
\ 應該轉義吧?試試這樣寫:
pattern = re.compile(r'href=(.*?) target="_blank" title=(.*?)>.*?timestyle4222">(.*?)\xa0')
或
pattern = re.compile('href=(.*?) target="_blank" title=(.*?)>.*?timestyle4222">(.*?)\\xa0')