任务描述
本关任务:运用正则表达式的快捷方式的表示方法,编写一个能从文本中快速匹配到任意单词和不是单词的Python小程序。
相关知识
为了完成本关任务,你需要掌握:
- 正则表达式快捷方式的表达方式;
- 正则表达式快捷方式取反的表达方式;
本关来学习正则表达式的快捷方式与快捷方式取反。
1.快捷方式
在正则表达式的使用过程中,人们为了快捷表达与方便阅读,提取了几种普通字符组,并在正则表达式引擎中预定义了其快捷方式。如果我们想要定义单词,以目前学到的可能会使用[A-Za-z],但是,很多单词都是使用该字母以外的字符。比如中文,以及其他语言。
正则表达式引擎提供了一些快捷方式:
- \w ,与 “任意单词字符”匹配,在Python3中,基本上可以匹配任何语言的任意单词。而当我们想要匹配任意数字的时候,也可以使用快捷方式 \d ,d即digit。在Python3中,它除了可以和[0-9]匹配,还可以和其他语言的数字匹配。
- \s快捷方式匹配空白字符,比如空格,tab、换行 等。
- \b 快捷方式匹配一个长度为0的字符串,但是,他仅仅在一个单词开始或结尾处匹配,这被称为词边界快捷方式。
快捷方式 | 描述 |
---|---|
\w | 与任意单词匹配 |
\d | 与任意数字匹配 |
\s | 匹配空白字符,比如空格,换行等 |
\b | 匹配一个长度为0的子串 |
示例1
a = re.findall(r'\w','学好Python 大展拳脚')
b = re.search(r'\w','python3')
c = re.search(r'\d','编号89757')
print(a)
print(b)
print(c)
执行结果输出如下: