Regex 比對符 (RegExp Metacharacter)
正規式的字元比對符可以用簡短英文字母篩選數字、英文大小寫、跳格,通常用在文字清理,例如HTML文本的清理,將html標籤洗掉或是將跳行符號已空格取代。
\d:“digit character” 數字比對,等於[0-9],可以比對0-9的所有數字。
\s:“whitespace character” 空格比對,等於[ \t\r\n\f\v],可以比對空格、跳行、tab等項目
\w:小寫,“word character” 文字比對,等於[a-zA-Z0-9_],可以比對所有的英文字母、數字。
\W:大寫,是上面的相反,排除英文文字跟數字都比對的到,通常用在文字清理, re.sub(r’\W+’ ,’ ‘ ,text),可以將所有的非數字文字都轉成空格,以利詞頻計算。
例如re.sub(r’\W+’ ,’ ‘ ,text):There’s a novel name as 「Harry Potter」, best-seller of amazon store! 可以轉換成 There s a novel as Harry Potter best seller of amazon store!
[python]
import re
text = """
There's a novel name as 「Harry Potter」, best-seller of amazon store!
"""
# 只保留英文字母跟數字還有_,大寫W就是比對到其他的項目,並轉換成空格
replaceString = re.sub(r'\W+' ,' ' ,text)
print(replaceString)
# There s a novel as Harry Potter best seller of amazon store
# 只保留英文字母跟數字還有_,在轉換成小寫
replaceStringLower = re.sub(r'\W+' ,' ' ,text).lower()
print(replaceString)
# there s a novel as harry potter best seller of amazon store
[/python]