2.6 搜索與取代忽略大小寫,這也是利用 re 模組,在使用 sub/findall 的時候可以加上 flags=re.IGNORECASE ,這樣就可以忽略大小寫。
2.7 只想找到符合 pattern 的最短字串,一般來說,regular expression 是貪婪 (greedy) 的,他會試著去找最符合 pattern 的最長字串,因此作者舉了雙引號的例子,在文字裡有兩個被雙引號包起來的字串時,如 "hello" is a "word",re 得到的結果會是 hello" is a "word 。這時候可以用 ? 避掉,原本是 r'\"(.*)\"',可以改為 r'\"(.*?)\"' 。
2.8 要 match 多行的情況,例如 C 註解跨了多行 /* ... */ ,就可以加 \n,例如 r'/\*((?:.|\n)*?)\*/'
2.9 Unicode 問題,有些字元可以用多種表示方式,可是又需要視為一樣,這時候要利用 unicodedata 模組裡的 normalize()。到時候有用到再去查這部分好了。
2.10 re 有支援 unicode,pattern 字串裡用 \u 即可,用法其實跟一般字元一樣。

arrow
arrow

    elleryq 發表在 痞客邦 留言(0) 人氣()