Python中的正则表达式

本来只有一个问题,当你使用正则表达式时,就变成了两个问题

我们在处理网页文本时,经常会有查找符合某些规则的字符串的需要。正则表达式就是用于描述这些规则的工具。它是由普通字符和元字符组成的文字模式。而模式是用于描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将摸个字符模式与所搜索的字符串进行匹配。

  1. 基本语法与使用
    先来看几个例子
    1.1 入门小例子
    学习正则表达式最好的办法就是通过例子,当然任何事物都是这样。

例如我们想找到一篇英文文献中所有的we单词,你可以使用正则表达式:we,这是最简单的正则表达式,可以精确匹配想要的单词。正则表达式工具一般可以设置为忽略大小写,那we这个正则表达式可以将文献中的we、wE、We、和WE都匹配处理。如果仅仅使用we来匹配,会发现的出来的记过和预想的不一样,类似于well、welcome这样的单词也会被匹配出来,因为这些单词中也包含we。如何仅仅将we单词匹配出来呢?我们需要使用这样的正则表达式:\bwe\b。

"\b"是正则表达式规定的一个特殊代码,被称为“元字符”,代表着单词的开头或结尾,也就是单词的分解出,它不带包英语中空格、标点符号、换行等单词分隔符,知识用来匹配一个位置,他的宽度是0,也叫零宽定界符。

假如我们看到we单词不远处有个work单词,想把we、work和他们之间的所有内容都匹配出来,那么我们需要了解另外两个“元字符”,"."和"",正则表达式可以写为"\bwe\b.\bwork\b" 。"."的含义是匹配除了换行符"\n"的任意字符,""不是代表字符,而是代表匹配的数量,含义是匹配其前面的内容0次或任意次。"."整体的意思就是匹配当前行所有字符,"\bwe\b.*\bwork\b"作用就是先匹配出单词we,接着当前行匹配任意字符,直到匹配到单词"word"结束。

  1. 常用的元字符
    元字符主要有以下四种作用:
  • 匹配字符
  • 匹配位置
  • 匹配数量
  • 匹配模式
元字符 含义
. 匹配除换行符以外的任一字符
\b 匹配单词的开始或结束(零宽定界符)
\d 匹配数字
\w 匹配字母、数字、划线或汉字
\s 匹配任意空白符,包括空格、Tab、换行符、中文全角空格等
^ 匹配字符的开始,在[]中表示非选择
$ 匹配字符串的结束

你可能感兴趣的:(Python中的正则表达式)