使用方法举例:
1 import re 2 3 character = re.compile('[^\w\u4e00-\u9fa5]+') # \u4e00-\u9fa5是中文的Uincode码 4 test_str = 'as()12c!@#2/1$4\大3 %[]^sa{}23da 大' 5 m1 = re.subn(character,"_",test_str) #用_替换所有能匹配上的字符 6 print(m1) 7 m2 = re.findall(r'[a-zA-Z0-9_\u4e00-\u9fa5]+', test_str) #找到所有能匹配上的字符 8 print(m2)
输出:('as_12c_2_1_4_大3_sa_23da_大', 8)
['as', '12c', '2', '1', '4', '大3', 'sa', '23da', '大']
普通字符匹配字符串:
[ABCD] 匹配 [...] 中的所有字符,例如 [aeiou] 匹配字符串 "google runoob taobao" 中所有的a e i o u字母
[^ABCDE] 匹配除了 [...] 中字符的所有字符,例如 [^aeiou] 匹配字符串 "google runoob taobao" 中除了 a e i o u 字母的所有字母。
[A-Z] [A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母,‘-’ 用来创建区间
[\s] 匹配所有空白符,包括换行 [\S] 匹配非空白符,包括换行
[\w] 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
正则式中的特殊字符:
(非打印字符也可以是正则表达式的组成部分,如 \n 等)