.代表匹配任意單個字元,但是一般情況下\n \t字元卻匹配不到。匹配時候加上re.s編譯標誌即可解決問題。
>>>
import re
>>> r1 = r"qq.com"
#這裡的『.『不止是點,代表匹配任意單個字元
>>> re.findall(r1, "qq.com")
['qq.com']
>>> re.findall(r1, "qqxcom")
['qqxcom']
>>> re.findall(r1, "qqxcom", re.s)
['qqxcom']
>>> re.findall(r1, "qq\ncom") #但是在匹配\n \t等卻不行,加上re.s編譯標誌即可
>>> re.findall(r1, "qq\ncom", re.s)
['qq\ncom']
>>> re.findall(r1, "qq\ncom")
>>> re.findall(r1, "qq\tcom", re.s)
['qq\tcom']
re.ignorecase的縮寫,此編譯標誌代表,匹配時候忽視字母大小寫
>>>
import re
>>> r1 = r"top"
>>> re.findall(r1, "top top top")
['top']
>>> re.findall(r1, "top top top", re.i)
['top', 'top', 'top']
re.multiline的縮寫:多行匹配,影響 ^ 和 $
#!/usr/bin/python
#coding:utf8
import re
r1 = r"^hello|good$"
s = """
hello world
hello python
very good
"""#在乙個字串有多行的時候
print re.findall(r1, s) #不加re.m之匹配第一行
print
"#"*20
print re.findall(r1, s, re.m) #加了之後,匹配所與的行
$ python e6.py
['good']
####################
['hello', 'hello', 'good']
re.verbose的簡寫,能夠使用res的verbose狀態,使之正規表示式更加清晰。
#!/usr/bin/python
#coding:utf8
import re
#匹配乙個**號碼:0570-1234567
res = r"""
\d-?
\d """
#res = r"\d-?" 如果這樣的話,匹配不需要加re.x
print re.findall(res, "0570-1234567")
print
"#"*20
print re.findall(res, "0570-1234567", re.x)
$ python e7.py
####################
['0570-1234567']
正規表示式標誌
regexp中宣告標誌 標誌作為regexp建構函式的第二個引數,其可以用如下方式宣告 var patt1 new regexp 規則 模式 標誌 正規表示式直接量中宣告標誌 與其他語法不同的是,在正規表示式直接量中宣告標誌,是在 符號之外說明的,即它們不出現在兩個斜槓之間,而是位於第二個斜槓之後。...
再談正規表示式編譯
這些天在探求正規表示式編譯的時候,也看到了之前有些朋友寫的工具,下面有乙個就不錯。基本實現了我所需要的所有功能。但該工具有乙個美中不足,就是無法指定強名稱檔案,以及其他的一些屬性。這可能是我們在編譯的時候很需要的。為此,我修改了該程式,增加了乙個視窗,讓使用者可以隨意設定一些通用選項。如下圖所示 下...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...