输出:首次匹配的位置对象。
- #USAGE:
- pattern = r'[iI]t'
- string = "It was the best of times, it was the worst of times."
- location = re.search(pattern,string)
- print(location)
- ------------------------------------------------------------
- <_sre.SRE_Match object; span=(0, 2), match='It'>
可以使用下面编程获取该位置对象的数据:
- print(location.group())
- ------------------------------------------------------------
- 'It'
3.替换
这个功能也很重要。当使用自然语言处理程序时,有时需要用X替换整数,或者可能需要编辑一些文件。任何文本编辑器中的查找和替换都可以做到。
输入:搜索模式、替换模式和目标字符串
输出:替换字符串
- string = "It was the best of times, it was the worst of times."
- string = re.sub(r'times', r'life', string)
- print(string)
- ------------------------------------------------------------
- It was the best of life, it was the worst of life.
案例研究
正则表达式在许多需要验证的情况下都会用到。我们可能会在网站上看到类似这样的提示:“这不是有效的电子邮件地址”。虽然可以使用多个if和else条件来编写这样的提示,但正则表达式可能更具优势。
1.PAN编号
在美国,SSN(社会安全号码)是用于税务识别的号码,而在印度,税务识别用的则是 PAN号码。PAN的基本验证标准是:上面所有的字母都必须大写,字符的顺序如下:
那么问题是:
“ABcDE1234L”是有效的PAN号码吗?
如果没有正则表达式,该如何回答这个问题呢?可能会编写一个for循环,并进行遍历搜索。但如果用正则表达式,那就像下面这样简单:
- match=re.search(r’[A-Z]{5}[0–9]{4}[A-Z]’,'ABcDE1234L')
- if match:
- print(True)
- else:
- print(False)
- -----------------------------------------------------------------
- False
2.查找域名
有时我们必须从一个庞大的文本文档中找出电话号码、电子邮件地址或域名等。 (编辑:PHP编程网 - 襄阳站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|