python之正则表达式(字符)

什么是正则表达式

正则表达式(regular expression)是包含文本和特殊字符的字符串,该字符串描述一个可以识别各种字符串的模式

为什么要使用正则表达式

1.信息隐藏
2.信息过滤
3.信息采集器
4.信息查询

那么下面我就来介绍下正则表达式的字符匹配:

  1. .

匹配所有字符

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']

你可能感兴趣的:(python之正则表达式(字符))