测试大本营

python正则表达式

2019-05-09  本文已影响2人  nayli

正则表达式是用于查找和替换字符串中的模式的字符序列,它是用于匹配文本中的模式的工具。

在python中,我们有“re”模块,我们需要在开始之前导入它。

import re

正则表达式的主要用途

匹配字符串
替换字符串的一部分
搜索字符串
将字符串拆解成子字符串

正则表达式的方法

\w --> 匹配字母数字字符 [a-z,A-Z,0-9]

\W --> 匹配非字母数字字符

\d --> 匹配数字 [0-9]

\D --> 匹配所有非数字

\s --> 匹配一个空格字符

\S --->匹配除空格外的所有字符

\t --> 匹配制表符

\n --> 匹配换行符

\r --> 匹配回车符

. -->匹配除\n外的所有字符

() -->对正则表达式进行分组,并返回匹配的文本

a|b -->匹配a或b

^ --> 开始位置

$ --> 结束位置

{m} --> 精确匹配m个

{m,} -->匹配至少m个

{m,n} --> 匹配个数介于m和n之间

? -->匹配模式的一次或零次出现

plus(+) -->匹配模式的一个或多个出现

image.png

sub ----> 查找re匹配的所有子字符串,并用不同的字符串替换它们

subn -----> 和 sub()相同, 但是返回新字符串和匹配次数

start ----> 给出开始位置

end ----> 给出结束位置

span ----> 给出子字符串的起始位置

search ----> 匹配整个字符串

match ----> 匹配第一个单词

findall ----> 在字符串中多次进行匹配

compile -----> 我们可以将模式编译成模式对象

re.search()

本搜索方法将搜索整个字符串并返回结果。
如果有多个匹配项,则返回搜索模式的第一个匹配项
例子:


image.png

re.match()

搜索给定字符串的第一个单词。如果第一个单词匹配,则返回所需输出,如果第一个单词不匹配,则输出None。
例子:


image.png

因为hello不是字符串中的第一个单词。

re.findall()

Findall返回字符串中模式的所有非重叠匹配。
例子:


image.png

它可以匹配一个模式并使用新的子字符串进行替换。
例子:


image.png

re.compile()

我们可以将正则表达式模式组合到模式对象中,这些对象可用于模式匹配。在不重写它的情况下也可以搜索一个模式。
例子:


image.png

练习
1.从给定字符串中提取所有字符


image.png
  1. 从给定字符串中提取每一个单词


    image.png
  2. 从给定字符串中提取所有数字
    image.png
    点击此处查看更多的正则表达式练习——https://www.w3resource.com/python-exercises/re/
    关于正则表达式,我们只需要知道这些。重复练习知道你可以信手拈来。

英文原文:
https://www.codementor.io/sadhanareddy/regular-expressions-in-python-rcxs7fq0x
译者:忧郁的红秋裤

上一篇下一篇

猜你喜欢

热点阅读