在python中的正規表示式裡對萬用字元的使用也相當規範
例如:* ? . [0-9] [a-z] [a-z]等;而不同於shell裡,如[[:digit:]] [[:alpha:]]等不能識別
# glob.glob: 返回所有匹配正則的路徑(返回的是乙個列表)
# glob.iglob: 返回所有匹配正則的路徑(返回的是乙個生成器)
# findall方法
# 編寫正則規則
pattern1 = r'home'
pattern2 = r'python'
print(re.findall(pattern1, s))
print(re.findall(pattern2, s))
# 可見findall方法是找出全部匹配規則的字元
# match方法
print(re.match(pattern2, s))
obj = re.match(pattern1, s)
print(obj.group())
# 可見match方法是匹配第乙個字元,若沒有匹配成功返回值未none,匹配成功呼叫group方法列印匹配的值
# search方法
obj1 = re.search(pattern1, s)
obj2 = re.search(pattern2, s)
print(obj1.group())
print(obj2.group())
# 可見search方法揮掃瞄整個字串但值返回第乙個匹配成功的內容
字元類:[pp]ython
westos[pp]
[aeiou]
[a-z]
[a-z]
[a-za-z0-9]
[^0-9]
特殊字元類:
. : 匹配除了\n之外的任意字元; [.\n]
\d : digit--(數字), 匹配乙個數字字元, 等價於[0-9]
\d : 匹配乙個非數字字元, 等價於[^0-9]
\s : space(廣義的空格: 空格, \t, \n, \r), 匹配單個任何的空白字元;
\s : 匹配除了單個任何的空白字元;
\w : 字母數字或者下劃線, [a-za-z0-9_]
\w : 除了字母數字或者下劃線, [^a-za-z0-9_]
print(re.findall(r'\s', '\n當前\r文章閱\t讀量為8'))
print(re.findall(r'\s', '\n當前\r文章閱\t讀量為8'))
print(re.findall(r'\w', '12當前python文章閱_讀量為8&%#'))
print(re.findall(r'\w', '12當前python文章閱_讀量為8&%#'))
匹配字元出現次數:* : 代表前乙個字元出現0次或者無限次; d*, .*
+ : 代表前乙個字元出現一次或者無限次; d+
? : 代表前乙個字元出現1次或者0次; 假設某些字元可省略, 也可以不省略的時候使用
第二種方式:
: 前乙個字元出現m次;
: 前乙個字元至少出現m次; * == ; + ===
: 前乙個字元出現m次到n次; ? ===
python正規表示式及使用正規表示式的例子
正規表示式 正則表達用來匹配字串 正規表示式匹配過程 正規表示式語法規則 匹配除換行 n 外的任意字串 abcabc 轉義字元,使後乙個字元改變原來的意思 a c a c 字符集,對應的位置可以是字符集中任意字元,字符集中的字元可以逐個列出,也可以給出範圍,如 abc 或 a c 第乙個字元如果是 ...
Python之正規表示式
正規表示式正規表示式主要用來匹配字串,例如 判斷乙個字串是否是乙個合法的 思想是用描述性的語言給字串乙個規則。re模組中的match函式提供了這種功能,若匹配成功則返回匹配物件,否則返回none。一 語法 d 表示匹配數字 w 表示匹配字母或數字 可以匹配任意字元 s可以匹配乙個空格或者tab 特殊...
Python之正規表示式
正規表示式元字元如下 匹配除換行符以外的所以字元 規定匹配模式必須出現在目標字串的開頭,例如 hell hello hellboy 規定匹配模式必須出現在目標字串的結尾,例如 ar car bar 其前乙個字元必須在目標物件中連續出現零次或多次 其前乙個字元必須在目標物件中連續出現一次或多次 其前乙...