python中的正则表达式是干嘛的,Python正则表达式怎么用

  python中的正则表达式是干嘛的,Python正则表达式怎么用

  边肖经常可以在后台收到消息,其中大部分是关于正则表达式的。边肖结合大量内容整理出这个通俗易懂、直接的总结。可以了解一下。

  正则表达式简介:

  正则表达式(regex)用于探索给定字符串中的固定模式。我们想找的模式可以是任何东西。您可以创建一个类似于查找电子邮件或手机号码的模式。您还可以创建模式来查找以a开头并以z结尾的字符串。

  创建模式:

  使用正则表达式时,首先需要学习的是如何创建模式。接下来,将逐一介绍一些最常用的模式。能想到的最简单的模式就是一个简单的字符串。

  模式=r 次

  string=它是最佳时间,它是最差时间

  打印(len (re。find all (pattern,string)))为了帮助创建复杂的模式,正则表达式提供了特殊的字符/运算符。让我们一个一个来看看这些操作符。

  1、操作符

  这在第一个示例中使用,可用于查找满足这些方括号中条件的字符。

  [abc]-将找到文本中出现的所有A、B或C

  [a-z]-将找到文本中出现的从A到Z的所有字母

  [A-Z09A-Z]-将找到文本中出现的从A到Z的所有大写字母、从A到Z的小写字母以及从0到9的数字。

  Python中运行下列代码:

  pattern=r[a-zA-Z]

  string=它是

  nbsp;thebestoftimes,itwastheworstoftimes."

  print(len(re.findall(pattern,string)))

2、点算符

  

点运算符(.) 用于匹配除换行符以外的任何字符。运算符优点是,它们可以结合使用。

  

3、一些元序列

  

在使用正则表达式时,一些模式会经常被用到。因此正则表达式为这些模式创建了一些快捷方式。最常用的快捷方式如下:

  

  • \w,匹配任何字母、数字或下划线。相当于[a-zA-Z0–9_]

      

  • \W,匹配除字母、数字或下划线以外的任何内容。

      

  • \d,匹配任何十进制数字。相当于[0–9]。

      

  • \D,匹配除十进制数字以外的任何数字。

      

正则表达式函数

  

目前为止,只使用了 re包中的findall 函数,其实还有很多其他函数。下面来逐个介绍。

  

1、findall

  

上面已经使用了 findall。这是我最常使用的一个。下面来正式认识一下这个函数吧。

  

输入:模式和测试字符串

  

输出:字符串列表。

  

#USAGE:

  pattern=r'[iI]t'

  string="Itwasthebestoftimes,itwastheworstoftimes."

  matches=re.findall(pattern,string)

  formatchinmatches:

  print(match)------------------------------------------------------------

  It

  It

  2、搜索

  输入:模式和测试字符串

  输出:首次匹配的位置对象。

  #USAGE:

  pattern=r'[iI]t'

  string="Itwasthebestoftimes,itwastheworstoftimes."

  location=re.search(pattern,string)

  print(location)

  ------------------------------------------------------------

  <_sre.SRE_Matchobject;span=(0,2),match='It'>

  可以使用下面编程获取该位置对象的数据:

  print(location.group())

  ------------------------------------------------------------

  'It'

3、替换

  

这个功能也很重要。当使用自然语言处理程序时,有时需要用X替换整数,或者可能需要编辑一些文件。任何文本编辑器中的查找和替换都可以做到。

  

输入:搜索模式、替换模式和目标字符串

  

输出:替换字符串

  

string="Itwasthebestoftimes,itwastheworstoftimes."

  string=re.sub(r'times',r'life',string)

  print(string)

  ------------------------------------------------------------

  Itwasthebestoflife,itwastheworstoflife.

Python正则表达式应用范围:

  

1、PAN编号

  

2、查找域名

  

3、查找电子邮件地址

  

下面的正则表达式用于在长文本中查找电子邮件地址。

  

match=re.findall(r'([\w0-9-._]+@[\w0-9-.]+[\w0-9]{2,3})',string)

以上就是关于正则表达式的详细解析了,如需更多python实用知识,点击进入PyThon学习网教学中心

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: