Regex教學,10分鐘掌握GA規則運算式,文字清理的正規表示法應用筆記 (Regular expression)

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]