设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 创业者
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

代码详解:Python正则表达式的优秀使用指南(2)

发布时间:2019-09-29 20:16 所属栏目:21 来源:读芯术
导读:输出:字符串列表。 #USAGE: pattern=r'[iI]t' string=Itwasthebestoftimes,itwastheworstoftimes. matches=re.findall(pattern,string) formatchinmatches: print(match)----------------------------------------

输出:字符串列表。

  1. #USAGE: 
  2. pattern = r'[iI]t' 
  3. string = "It was the best of times, it was the worst of times." 
  4. matches = re.findall(pattern,string) 
  5. for match in matches: 
  6. print(match)------------------------------------------------------------ 
  7. It 
  8. it 

2.搜索

代码详解:Python正则表达式的优秀使用指南

输入:模式和测试字符串

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

  1. #USAGE: 
  2. pattern = r'[iI]t' 
  3. string = "It was the best of times, it was the worst of times." 
  4. location = re.search(pattern,string) 
  5. print(location) 
  6. ------------------------------------------------------------ 
  7. <_sre.SRE_Match object; span=(0, 2), match='It'> 

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

  1. print(location.group()) 
  2. ------------------------------------------------------------ 
  3. 'It' 

3.替换

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

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

输出:替换字符串

  1. string = "It was the best of times, it was the worst of times." 
  2. string = re.sub(r'times', r'life', string) 
  3. print(string) 
  4. ------------------------------------------------------------ 
  5. It was the best of life, it was the worst of life. 

案例研究

正则表达式在许多需要验证的情况下都会用到。我们可能会在网站上看到类似这样的提示:“这不是有效的电子邮件地址”。虽然可以使用多个if和else条件来编写这样的提示,但正则表达式可能更具优势。

1.PAN编号

代码详解:Python正则表达式的优秀使用指南

在美国,SSN(社会安全号码)是用于税务识别的号码,而在印度,税务识别用的则是 PAN号码。PAN的基本验证标准是:上面所有的字母都必须大写,字符的顺序如下:

那么问题是:

“ABcDE1234L”是有效的PAN号码吗?

如果没有正则表达式,该如何回答这个问题呢?可能会编写一个for循环,并进行遍历搜索。但如果用正则表达式,那就像下面这样简单:

  1. match=re.search(r’[A-Z]{5}[0–9]{4}[A-Z]’,'ABcDE1234L') 
  2. if match: 
  3.  print(True) 
  4. else: 
  5.  print(False) 
  6. ----------------------------------------------------------------- 
  7. False 

2.查找域名

代码详解:Python正则表达式的优秀使用指南

有时我们必须从一个庞大的文本文档中找出电话号码、电子邮件地址或域名等。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读