寒假学习笔记03

Python正则表达式

  • 介绍:

正则表达式是各种字符串操作的强大工具。

正则表达式是一种特定于领域的语言(DSL),作为大多数现代编程语言的库而不仅仅是 Python。

正则表达式对于以下两种主要任务是很有用的:

- 验证字符串是否匹配模式(例如,字符串具有电子邮件地址的格式)

- 对字符串中进行替换(如将所有美式拼写改为英式拼写)。

  • Python正则表达式

 

Python 中的正则表达式可以使用 re 模块来访问,它是标准库的一部分。定义正则表达式之后,可以使用 re.match 函数来确定字符串的开头是否匹配。如果匹配,match 返回表示匹配的对象,否则返回 None。 为了避免在处理正则表达式时出现混淆,我们使用原始字符串 r"expression"。原始字符串不会转义任何东西,这使得使用正则表达式更容易。 下面的例子检查字符串是否匹配 "spam",如果是,则打印 "Match"。

import re

pattern = r"spam"

if re.match(pattern, "spamspamspam"):
   print("Match")
else:
   print("No match")

  

其他的正则函数是 re.search 和 re.findall。re.search 函数在字符串中的任何位置找到匹配的模式;re.findall 函数返回一个与模式匹配的所有子串的列表。

例如:

import re

pattern = r"spam"

if re.match(pattern, "eggspamsausagespam"):
   print("Match")
else:
   print("No match")

if re.search(pattern, "eggspamsausagespam"):
   print("Match")
else:
   print("No match")
    
print(re.findall(pattern, "eggspamsausagespam"))

  

在上面的示例中,匹配函数与模式不匹配,因为它从字符串的开头开始匹配。search 函数找到了匹配的字符串。函数 re.finditer 和 re.findall 类似,不过它返回一个迭代器,而不是一个列表。使用正则表达式的最重要的 re 方法是 sub。

语法:

re.sub(pattern, repl, string, max=0)

  

这个方法用 repl 替换字符串中所有出现的模式,除非提供 max限定修改数量。sub 方法返回修改后的字符串。

例如

import re

str = "My name is Loen. Hi Loen."
pattern = r"Loen"
newstr = re.sub(pattern, "xueyun", str)
print(newstr)

  

迷失在灿烂之中 消失在万里晴空
原文地址:https://www.cnblogs.com/wxy2000/p/12260692.html