当前位置:网站首页>[正则表达式] 单个字符匹配
[正则表达式] 单个字符匹配
2022-07-27 14:25:00 【柚子树cc】
1. 匹配单个字符
通过re模块能够完成使用正则表达式来匹配字符串
| 代码 | 功能 |
|---|---|
| . | 匹配任意1个字符(除了\n) |
| [ ] | 匹配[ ]中列举的字符 |
| \d | 匹配数字,即0-9 |
| \D | 匹配非数字,即不是数字 |
| \s | 匹配空白,即 空格,tab键 |
| \S | 匹配非空白 |
| \w | 匹配非特殊字符,即a-z、A-Z、0-9、_、汉字 |
| \W | 匹配特殊字符,即非字母、非数字、非汉字 |
示例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("匹配失败")
执行结果:
&
边栏推荐
猜你喜欢

使用Lombok导致打印的tostring中缺少父类的属性

HaoChen CAD building 2022 software installation package download and installation tutorial

【剑指offer】面试题41:数据流中的中位数——大、小堆实现

Watermelon book machine learning reading notes Chapter 1 Introduction

Selenium 报错:session not created: This version of ChromeDriver only supports Chrome version 81
Comparison of advantages and disadvantages between instrument amplifier and operational amplifier

后台返回来的是这种数据,是什么格式啊

实现自定义Spark优化规则

How to edit a framework resource file separately

Basic usage of kotlin
随机推荐
Selenium reports an error: session not created: this version of chromedriver only supports chrome version 81
Overview of wechat public platform development
Unity's simplest object pool implementation
Adaptation verification new occupation is coming! Huayun data participated in the preparation of the national vocational skill standard for information system adaptation verifiers
EMC design scheme of RS485 interface
《剑指Offer》 链表反转
微信公众平台开发概述
[0 basic operations research] [super detail] column generation
Network equipment hard core technology insider router Chapter 4 Jia Baoyu sleepwalking in Taixu Fantasy (Part 2)
Problem solving in magic tower project
Leetcode 341. flattened nested list iterator DFS, stack / medium
【剑指offer】面试题56-Ⅰ:数组中数字出现的次数Ⅰ
Spark 任务Task调度异常分析
Multi table query_ Sub query overview and multi table query_ Sub query situation 1 & situation 2 & situation 3
使用解构交换两个变量的值
Deveco studio2.1 operation item error
Several basic uses of tl431-2.5v voltage reference chip
【剑指offer】面试题41:数据流中的中位数——大、小堆实现
MLX90640 红外热成像仪测温传感器模块开发笔记(七)
3.3-5v conversion