正規表示式
基礎使用方法data=re.compile(』\d』,re.i|re.s)
建立正規表示式物件—第二個引數代表忽略大小寫以及換行
str=data.findall(zfc) 進行字串匹配 返回是列表形式
re類
正規表示式
.*?萬能匹配
zfc=
'asdkfgjosadjfo1234asdtfgw{}er888{}888asdfuhjunf違法我發生的v給v額1234dfg555555'
re.match(pattern, string, flags=
0) 從字串的起始位置匹配,如果起始位置匹配不成功的話,match(
)就返回none
re.search(pattern, string, flags=
0) 掃瞄整個字串並返回第乙個成功的匹配
re.findall(pattern, string, flags=
0) 找到re匹配的所有字串,並把他們作為乙個列表返回
re.finditer(pattern, string, flags=
0) 找到re匹配的所有字串,並把他們作為乙個迭代器返回
re.sub(pattern, repl, string, count=
0, flags=
0) 替換匹配到的字串
一.常用正規表示式符號和語法:
'.' 匹配所有字串,除\n以外
『-』 表示範圍[0-
9]'*' 匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 \*。
'+' 匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 \+
'^' 匹配字串開頭
『$』 匹配字串結尾 re
'\' 轉義字元, 使後乙個字元改變原來的意思,如果字串中有字元*需要匹配,可以\*或者字符集[*] re.findall(r'
3\*','
3*ds')結['
3*']
'*' 匹配前面的字元0次或多次 re.findall(
"ab*"
,"cabc3abcbbac"
)結果:[
'ab'
,'ab'
,'a'
]『?』 匹配前乙個字串0次或1次 re.findall(
'ab?'
,'abcabcabcadf'
)結果[
'ab'
,'ab'
,'ab'
,'a'
]'' 匹配前乙個字元m次 re.findall(
'cb'
,'bchbchcbfbcbb'
)結果[
'cb'
,'cb'
]'' 匹配前乙個字元n到m次 re.findall(
'cb'
,'bchbchcbfbcbb'
)結果[
'cbb'
]'\d' 匹配數字,等於[0-
9] re.findall(
'\d'
,)結果[
'1',
'0',
'0',
'8',
'6']
'\d' 匹配非數字,等於[^0
-9] re.findall(
'\d'
,)結果[
'電',
'話',
':']
'\w' 匹配字母和數字,等於[a-za-z0-
9] re.findall(
'\w'
,'alex123,./;;;'
)結果[
'a',
'l',
'e',
'x',
'1',
'2',
'3']
'\w' 匹配非英文本母和數字,等於[
^a-za-z0-
9] re.findall(
'\w'
,'alex123,./;;;'
)結果[
',',
'.',
'/',
';',
';',
';']
'\s' 匹配空白字元 re.findall(
'\s'
,'3*ds \t\n'
)結果[
' ',
'\t'
,'\n'
]'\s' 匹配非空白字元 re.findall(
'\s'
,'3*ds \t\n'
)結果[
'3',
'*',
'd',
's']
'\a' 匹配字串開頭
'\z' 匹配字串結尾
'\b' 匹配單詞的詞首和詞尾,單詞被定義為乙個字母數字序列,因此詞尾是用空白符或非字母數字符來表示的
'\b' 與\b相反,只在當前位置不在單詞邊界時匹配
'(?p...)' 分組,除了原有編號外在指定乙個額外的別名 re.search(
"(?p[0-9])(?p[0-9])(?p[0-9])"
,"371481199306143242"
).groupdict(
"city"
) 結果
是定義匹配的字元範圍。比如 [a-za-z0-
9] 表示相應位置的字元要匹配英文本元和數字。[\s*
]表示空格或者*號。
python基礎 re使用
以乙個帶檔案操作的例子說明 目標 開啟乙個檔案,提取 中的內容,儲存在乙個新的檔案裡 涉及到的一些操作 序號操作 1檔案操作codecs.open 2正規表示式re模組的使用 上 import linecache import re import codecs filename lolstatist...
python基礎 Re正則
正規表示式 regular expression,簡稱re 正規表示式是對字串操作的 種邏輯公式,就是 事先定義好的 些特定字元 及這些特定字元的組合,組成 個 規則字串 這個 規則字串 來表達對字串的 種過濾邏輯。字串的匹配查詢 re模組中的findall函式可以對指定的字串進行遍歷匹配,獲取字串...
Python 中re庫的簡單使用
1.findall 方法 返回乙個列表 如下 import re text f open testtext.txt r encoding cp936 for each line in f text text each line f.close result re.findall a z a z a ...