正则表达式(regular expression)是包含文本和特殊字符的字符串,该字符串描述一个可以识别各种字符串的模式
1.信息隐藏 2.信息过滤 3.信息采集器 4.信息查询
那么下面我就来介绍下正则表达式的字符匹配:
.匹配所有字符
print(re.findall('.', "I love China,2000-07-01")) # ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'C', 'h', 'i', 'n', 'a', ',', '2', '0', '0', '0', '-', '0', '7', '-', '0', '1']2.[ ]
匹配[ ] 里面的内容,例如[a-z]匹配所有小写字母,同理[a-zA-Z]匹配所有字母
print(re.findall("[a-zA-Z0-9]", "I love China,2000-07-01")) # ['I', 'l', 'o', 'v', 'e', 'C', 'h', 'i', 'n', 'a', '2', '0', '0', '0', '0', '7', '0', '1']))3.\d
匹配数字
print(re.findall('\d', "I love China,2000-07-01")) # ['2', '0', '0', '0', '0', '7', '0', '1']4.\D
匹配非数字
print(re.findall('\D', "I love China,2000-07-01")) # ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'C', 'h', 'i', 'n', 'a', ',', '-', '-']5.\s
匹配空格
print(re.findall('\s', "I love China,2000-07-01")) # [' ', ' ']6.\S
匹配非空格
print(re.findall('\S', "I love China,2000-07-01")) # ['I', 'l', 'o', 'v', 'e', 'C', 'h', 'i', 'n', 'a', ',', '2', '0', '0', '0', '-', '0', '7', '-', '0', '1']7.\w
匹配单词字符即a-zA-Z0-9
print(re.findall('\w', "I love China,2000-07-01")) # ['I', 'l', 'o', 'v', 'e', 'C', 'h', 'i', 'n', 'a', '2', '0', '0', '0', '0', '7', '0', '1']8.\W
匹配非单词字符
print(re.findall('\W', "I love China,2000-07-01")) # 非单词字符 # [' ', ' ', ',', '-', '-']9.*
“ * ”匹配前一个字符出现0次或者无限次,即可有可无
print(re.findall(r"ab*", "a aB abC abBc")) # ['a', 'a', 'ab', 'ab']10.+
" + " 匹配前一个字符出现1次或者无限次,即至少有1次
print(re.findall(r"ab+", "a aB abC abBc")) # ['ab', 'ab']11.?
“ ?” 匹配前一个字符出现1次或者0次,即要么有1次,要么没有
print(re.findall(r"ab?", "a aB abC abBc")) # ['a', 'a', 'ab', 'ab']12.^
" ^ "匹配字符串开头
print(re.findall('^a', "asdfgh- -123")) # ['a']13.$
" $ " 匹配字符串结尾
print(re.findall('3$', "asdfgh- -123")) # ['3']