點號.可以匹配除\n之外的任意字元
>>> re.search(r"^.+$","\n") != none
false
該處\s\s可以匹配\n,表示可以匹配任何的字元,包括數值,字母以及各種符號,同型別的還有\d\d,\w\w表示的含義是一樣的
>>> re.search(r"^[\s\s]$","\n") !=none
true
星號*加號+和問號?,其實表示在正規表示式中表示的是字元的個數,而\d \w \s . 表示的是不同的字元,兩者搭配在一起,就可以進行字串的匹配,如 .* 表示任意字元任意長度的字串,\d*表示任意長度的數字,可以匹配任何數字字元
for hyperlink in re.finall(r">",htmlsource):
print hyperlink
這段語句可以匹配出很多的結果,但是為什麼要加乙個紅色的\s呢,因為後面一句有[\s\s]+了,原因是這裡其實是在[\s>]表示有可能出現空格,也有可能出現》,這些在匹配網頁字串的開頭比較常見,如。
其實對於[ ]中的內容,不管怎麼寫,最終只能選擇其中的乙個,如[0123],這會出現其中的乙個,一般需要配合星號,如[0123]*
匹配table ][\s\s]+?
匹配tr ][\s\s]+?
匹配td ][\s\s]+?
關於貪婪匹配最優的解釋,匹配路徑和匹配檔名稱
>>> print re.search(r"^.*/","/use/local/bin/python").group(0)
/use/local/bin/
>>> print re.search(r"[^/]*$","/use/local/bin/python").group(0)
python
#剛開始沒看懂[^/]*$這個語句,不知道為什麼要排除/,細想以下,只有排除/,才會把路徑前面所有包含/的字串都排除掉,如use/local/,/use/local/bin/,這些都包含/,直到最後python,這裡要注意的是$的使用,必須用,如果沒有的話,輸出結果為空
python正規表示式(二)
re模組的用法 1 re.s可以匹配轉義符 re.findall k.n darken dark nn 只輸出第乙個darken中的ken re.findall k.n darken dark nn re.s 不僅輸出darken中的ken,還輸出了dak nn中的k nn 2 re.m匹配多行 r...
Python 正規表示式(二)
這次的正規表示式學習談一談選擇符和子模式 可選項和重複子模式 在字串的各個字元都不相同的請胯下,字符集是比較好用的,但是如果只想匹配特定的字串,那麼字符集就不合適了,這裡就可以使用管道符號 比如我們只想匹配字串 python 和 perl 我們可以使用正則 python perl 但是有時候我們不需...
python正規表示式(二)
python的正規表示式支援大量的擴充套件符號 通過使用 ilmsux 系列,使用者可以在正規表示式裡面指定乙個或者多個標記,而不是通過compile 或者其他re模組函式。下面使用re.i ignorecase的示例,最後乙個示例在re.m multiline實現多行混合。import re re...