python正則表示式的無捕獲分組(取消分組)
在正則中,分組有重要的作用,但有時候,我們並不想要分組。比如,給定一系列的地址字串,要找出省份名稱。如:‘江蘇省蘇州市虎丘區馬澗路靠近白馬澗花園‘, ’廣西壯族自治區玉林市容縣’等。
程式碼如下:
import re
pattern_0 = re.compile(r'(.*?(省|自治區|特別行政區|市))')
pattern_1 = re.compile(r'(.*?(?:省|自治區|特別行政區|市))')
s = '江蘇省蘇州市虎丘區馬澗路靠近白馬澗花園'
result_0 = re.search(pattern_0, s).groups()
result_1 = re.search(pattern_1, s).groups()
In[242 ]: result_0
Out[242]: ('江蘇省', '省')
In[243]: result_1
Out[243]: ('江蘇省',)
可見,result_0中的分組結果中有兩個元素,而第二個元素‘省’不是我們需要的,所以在pattern_1的括號中增加”?:”, 也就是(?:省|自治區|特別行政區|市)
, 這樣,括號中的內容就不會被捕獲。
相關推薦
利用正則表示式進行字串替換(replace方法)
語法 str.replace(regexp|substr, newSubStr|function) 引數 regexp(pattern) 一個RegExp物件或者其字面量。該正則所匹配的內容會被第二個引數的返回值替換掉。 substr(pattern) 一個要被 newSubStr 替換
正則表示式驗證Ip地址(絕對正確)
之前一直不太會寫正則表示式,很多要用到正則表示式的都直接百度,像上次要用正則表示式驗證是否是合法的ip地址,然後就上網找,結果就是沒找到一個對的,今天就為大家貢獻一下,寫個對的,並做一下解析。(建議大
巧用正則表示式載入靜態頁面(HTML5+Jquery)
很多人可能用過Vie.js,網頁動態載入資料。一般來說,HTML在後面呼叫new Vue()載入資料的。Vue很有創意,在HTML中插入{{}}標記,使用HTML模板化,方便開發。但其也有一定不便。我受Vue啟發,想與Jquery結合(我很喜歡JQuery)。 我嘗試使用$Ajax()載入資料,並把資料顯示
正則表示式之前後查詢(Java版) 例項
參考部落格:http://blog.csdn.net/libingxin/article/details/7840998 ?= 正向向前查詢:出現在指定項之後的字元序列不會被正則表示式引擎返回 ?<= 正向向後查詢:出現在指定項之前的字元
正則表示式的一個應用(替換字串)
原料:1 一個要替換的字串 2 正則表示式 3 json物件 包含將要被替換的字串以及替換字串while(result=reg.exec(str)){}來判斷是否有匹配的字串 var key = result[0] 要被替換的字串var value = obj[key] 替換
perl的正則表示式中的元字元(需要轉義)
最近老是對哪些字元需要轉義,心中不明確,比如有時候在'點加上/用以匹配',或者"前加上/進行匹配,甚至>或者<前加轉義字元進行匹配。 就無形中增加了正則表示式的可閱讀性。今天正好總結下,到底哪些需要進行轉義: perl中的元字元如下: ^
JavaScript正則表示式驗證身份證號碼(From Jeskitt)
//身份證省份 var vcity={ 11:”北京”,12:”天津”,13:”河北”,14:”山西”,15:”內蒙古”, 21:”遼寧”,22:”吉林”,23:”黑龍江”,31:”上海”,32:”江蘇”, 33:”浙江”,34:”安徽”,35:”福建”,36:”江西”,
python正則表示式的無捕獲分組(取消分組)
在正則中,分組有重要的作用,但有時候,我們並不想要分組。比如,給定一系列的地址字串,要找出省份名稱。如:‘江蘇省蘇州市虎丘區馬澗路靠近白馬澗花園‘, ’廣西壯族自治區玉林市容縣’等。 程式碼如下: import re pattern_0 = re.co
Python 正則表示式(分組)
正則表示式分組 分組就是用一對圓括號“()”括起來的正則表示式,匹配出的內容就表示一個分組。從正則表示式的左邊開始看,看到的第一個左括號“(”表示第一個分組,第二個表示第二個分組,依次類推,需要注意的是,有一個隱含的全域性分組(就是0),就是整個正則表示式。
Python正則表示式初識(九)
繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是[\u4E00-\u9FA5],這個特殊字元最好能夠記下來,如果記不得的話通過百度也是可以一下子查到的。 該特殊字元是固定的寫法,其代表的意思是漢字。換句話說,只要字元中是漢字,就可以通過該字元進行匹配,該特殊字元也是用中括號括起來的。
關於python正則表示式中匹配分組的問題
在爬取網頁資訊時,我們不妨會用到Python正則表示式。之前一直沒有太明白關於正則表示式匹配分組的問題,今天終於搞清楚了,所以特意寫一下讓自己印象深刻。 myPage = requests.get(url).content.decode("gbk") 通過requests我們在網頁得到了這樣
Python :正則表示式(1)
#正則表示式 需要呼叫的模組 : import re #函式引數: patter :需要匹配的正則表示式 string:需要匹配的字串 flags :標誌位,用於控制正則的匹配方式 { re.I :忽略大小寫 var = re.match("www","Www.baidu.com.",
正則表示式——非捕獲分組
目前為止,總共介紹了括號的三種用途: 分組,將相關的語速歸攏到一起,構成單個元素;多選結構,規定可能出現的多個子表達示;引用分組,將子表示式匹配的文字儲存起來,供之後引用。 這三種用途並不是彼此獨立的,而是互相重疊的: 單純的分組可以視為“只包含一個多選分支的多選結構”;整個多選結構也會被視為單個元
Python 正則表示式,re模組,match匹配(預設從開頭匹配),分組
單個字元: 數量詞: 匹配開頭、結尾: 匹配分組: demo.py(正則表示式,match從開頭匹配,分組,分組別名): # coding=utf-8 import re # 小括號()表示分組 \1表示取出第
python正則表示式詳解(二):特殊字元序列
內容提要: 說明:僅供學習交流使用 二、python正則表示式中的特殊字元序列 \number \A \Z \b \B \d \D \s \S \w \W \\ 2.1\number 以相同的序號代表的組所匹配的內容
Python正則表示式初識(一)
首先跟大家簡單嘮叨兩句為什麼要學習正則表示式,為什麼在網路爬蟲的時候離不開正則表示式。正則表示式在處理字串的時候扮演著非常重要的角色,在網路爬蟲的時候也十分常用,大家可以把它學的簡單一些,但是不能不學。 儘管網路爬蟲相關庫給我們提供了豐富的庫如css、bs4、l
Python正則表示式初識(二)
前幾天給大家分享了Python正則表示式初識(一),介紹了正則表示式中的三個特殊字元“^”、“.”和“*”,感興趣的夥伴可以戳進去看看,今天小編繼續給大家分享Python正則表示式相關特殊字元知識點。 1、特殊字元“$”代表的意思是結尾字元。舉個栗子,正則表示式“3$
Python正則表示式初識(四)
今天繼續給大家分享Python正則表示式基礎知識,主要給大家介紹一下特殊字元“{}”的用法,具體的教程如下。 特殊字元“{}”實質上也是一個限定詞的用法,其限定前面字元所出現的次數,其常用的模式有三種,分別是“{數字}”、“{數字,}”和“{數字1, 數字2}”
Python正則表示式初識(八)
繼續分享Python正則表示式的基礎知識,今天給大家分享的特殊字元是“\w”和“\W”,具體的教程如下。 1、“\w”代表的意思是該字元為任意字元,但是和特殊字元“.”的意思不同。“\w”代表的字元主要包括26個大寫字母A到Z,即[A-Z]、26個小寫字母a到z
python正則表示式匹配分組的使用
正則表示式匹配分組等其他的情況 字元 功能 | 匹配左右任意一個表示式 (ab) 將括號中字元作為一個分組,可以和|一起使用(ab|cd)表示匹配括號內分組中的一個 \n