1. 匹配单个字符

通过re模块能够完成使用正则表达式来匹配字符串

代码功能.匹配任意1个字符(除了\n)[ ]匹配[ ]中列举的字符\d匹配数字,即0-9\D匹配非数字,即不是数字\s匹配空白,即 空格,tab键\S匹配非空白\w匹配非特殊字符,即a-z、A-Z、0-9、_、汉字\W匹配特殊字符,即非字母、非数字、非汉字

正则表达式匹配多段文字(正则表达式单个字符匹配)(1)

示例1:.

import re ret = re.match(".","M") print(ret.group()) ret = re.match("t.o","too") print(ret.group()) ret = re.match("t.o","two") print(ret.group())

运行结果:

M too two

示例2:[]

import re # 如果hello的首字符小写,那么正则表达式需要小写的h ret = re.match("h","hello Python") print(ret.group()) # 如果hello的首字符大写,那么正则表达式需要大写的H ret = re.match("H","Hello Python") print(ret.group()) # 大小写h都可以的情况 ret = re.match("[hH]","hello Python") print(ret.group()) ret = re.match("[hH]","Hello Python") print(ret.group()) ret = re.match("[hH]ello Python","Hello Python") print(ret.group()) # 匹配0到9第一种写法 ret = re.match("[0123456789]Hello Python","7Hello Python") print(ret.group()) # 匹配0到9第二种写法 ret = re.match("[0-9]Hello Python","7Hello Python") print(ret.group()) ret = re.match("[0-35-9]Hello Python","7Hello Python") print(ret.group()) # 下面这个正则不能够匹配到数字4,因此ret为None ret = re.match("[0-35-9]Hello Python","4Hello Python") # print(ret.group())

运行结果:

h H h H Hello Python 7Hello Python 7Hello Python 7Hello Python

示例3:\d

import re # 普通的匹配方式 ret = re.match("嫦娥1号","嫦娥1号发射成功") print(ret.group()) ret = re.match("嫦娥2号","嫦娥2号发射成功") print(ret.group()) ret = re.match("嫦娥3号","嫦娥3号发射成功") print(ret.group()) # 使用\d进行匹配 ret = re.match("嫦娥\d号","嫦娥1号发射成功") print(ret.group()) ret = re.match("嫦娥\d号","嫦娥2号发射成功") print(ret.group()) ret = re.match("嫦娥\d号","嫦娥3号发射成功") print(ret.group())

运行结果:

嫦娥1号 嫦娥2号 嫦娥3号 嫦娥1号 嫦娥2号 嫦娥3号

示例4:\D

import re match_obj = re.match("\D", "f") if match_obj: # 获取匹配结果 print(match_obj.group()) else: print("匹配失败")

运行结果:

f

示例5:\s

import re # 空格属于空白字符 match_obj = re.match("hello\sworld", "hello world") if match_obj: result = match_obj.group() print(result) else: print("匹配失败") # \t 属于空白字符 match_obj = re.match("hello\sworld", "hello\tworld") if match_obj: result = match_obj.group() print(result) else: print("匹配失败")

运行结果:

hello world hello world

示例6:\S

import re match_obj = re.match("hello\Sworld", "hello&world") if match_obj: result = match_obj.group() print(result) else: print("匹配失败") match_obj = re.match("hello\Sworld", "hello$world") if match_obj: result = match_obj.group() print(result) else: print("匹配失败")

运行结果:

hello&world hello$world

示例7:\w

import re # 匹配非特殊字符中的一位 match_obj = re.match("\w", "A") if match_obj: # 获取匹配结果 print(match_obj.group()) else: print("匹配失败")

执行结果:

A

示例8:\W

# 匹配特殊字符中的一位 match_obj = re.match("\W", "&") if match_obj: # 获取匹配结果 print(match_obj.group()) else: print("匹配失败")

执行结果:

&

,