本文概述
- 正则表达式功能
- 构造正则表达式
- match对象
必须导入re模块才能在python中使用正则表达式功能。
import re
正则表达式功能python中使用了以下正则表达式函数。
SN | Function | Description |
---|---|---|
1 | match | 此方法将字符串中的正则表达式模式与可选标志匹配。如果在字符串中找到匹配项, 则返回true;否则返回false。 |
2 | search | 如果在字符串中找到匹配项, 则此方法返回匹配对象。 |
3 | findall | 它返回一个列表, 其中包含字符串中某个模式的所有匹配项。 |
4 | split | 返回一个列表, 该字符串在每个匹配项中均已拆分。 |
5 | sub | 替换字符串中的一个或多个匹配项。 |
元字符
元字符是具有指定含义的字符。
Metacharacter | Description | Example |
---|---|---|
[] | 它代表字符集。 | “ [a-z]” |
\ | 它代表特殊的顺序。 | “ \r” |
. | 它表示在某个特定位置存在任何字符。 | “ Ja.v.” |
^ | 它表示出现在字符串开头的模式。 | “ ^Java” |
$ | 它表示出现在字符串末尾的模式。 | “ point” |
* | 它表示字符串中模式的零次或多次出现。 | “ hello*” |
+ | 它代表字符串中一个或多个模式的出现。 | “ 你好+” |
{} | 指定的模式出现的次数。 | “ java{2}” |
| | 它表示存在此字符。 | “ java|point” |
() | 捕获并分组 |
特殊序列是包含\后跟一个字符的序列。
Character | Description |
---|---|
\A | 如果指定的字符出现在字符串的开头, 则返回匹配项。 |
\b | 如果指定的字符出现在字符串的开头或结尾, 则返回匹配项。 |
\B | 如果指定的字符出现在字符串的开头而不是结尾, 则返回匹配项。 |
\d | 如果字符串包含数字[0-9], 则返回匹配项。 |
\D | 如果字符串不包含数字[0-9], 则返回匹配项。 |
\s | 如果字符串包含任何空格字符, 则返回匹配项。 |
\S | 如果字符串不包含任何空格字符, 则返回匹配项。 |
\w | 如果字符串包含任何单词字符, 则返回匹配项。 |
\W | 如果字符串不包含任何单词, 则返回匹配项。 |
\Z | 如果指定的字符位于字符串的末尾, 则返回匹配项。 |
一组是在一对方括号内给出的一组字符。它代表特殊含义。
SN | Set | Description |
---|---|---|
1 | [arn] | 如果字符串包含集合中的任何指定字符, 则返回匹配项。 |
2 | [a-n] | 如果字符串包含a到n之间的任何字符, 则返回匹配项。 |
3 | [^arn] | 如果字符串包含a, r和n以外的字符, 则返回匹配项。 |
4 | [0123] | 如果字符串包含任何指定的数字, 则返回匹配项。 |
5 | [0-9] | 如果字符串包含0到9之间的任何数字, 则返回匹配项。 |
6 | [0-5][0-9] | 如果字符串包含00到59之间的任何数字, 则返回匹配项。 |
10 | [a-zA-Z] | 如果字符串包含任何字母(小写或大写), 则返回匹配项。 |
此方法返回一个列表, 其中包含字符串中某个模式的所有匹配项的列表。它按照找到的顺序返回模式。如果没有匹配项, 则返回一个空列表。
考虑以下示例。
例子
import restr = "How are you. How is everything"matches = re.findall("How", str)print(matches)print(matches)
输出
['How', 'How']
match对象匹配对象包含有关搜索和输出的信息。如果找不到匹配项, 则返回None对象。
例子
import restr = "How are you. How is everything"matches = re.search("How", str)print(type(matches))print(matches) #matches is the search object
输出
<
class '_sre.SRE_Match'>
<
_sre.SRE_Match object;
span=(0, 3), match='How'>
Match对象方法
与Match对象关联的方法有以下几种。
- span():返回包含match开始和结束位置的元组。
- string():它返回传递给函数的字符串。
- group():返回找到匹配项的字符串部分。
import restr = "How are you. How is everything"matches = re.search("How", str)print(matches.span())print(matches.group())print(matches.string)
【Python正则表达式用法详解】输出
(0, 3)
How
How are you. How is everything
推荐阅读
- 将Android studio项目同步到码云
- Python如何读取csv文件(答案在这里————)
- Python Random模块用法
- Python OS模块用法介绍
- Python模块用法最全面的剖析
- Python如何进行异常处理()
- Python数学模块用法介绍
- Python如何使用List Comprehension()
- Python日期和时间处理完全解读