加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Python正则表达式教程-常用文本处理赏罚能力

发布时间:2019-10-30 01:02:44 所属栏目:建站 来源:数据大视界
导读:先容: 正则表达式用于辨认模式(pattern)是否存在于给定的字符(字符串)序列中。它们有助于处理赏罚文本数据,这凡是是涉及文本发掘的数据科学项目标先决前提。您必然碰着过一些正则表达式的应用措施:它们在处事器端用于在注册进程中验证电子邮件地点或暗码的
副问题[/!--empirenews.page--]

Python正则表达式教程-常用文本处理赏罚能力

 先容:

正则表达式用于辨认模式(pattern)是否存在于给定的字符(字符串)序列中。它们有助于处理赏罚文本数据,这凡是是涉及文本发掘的数据科学项目标先决前提。您必然碰着过一些正则表达式的应用措施:它们在处事器端用于在注册进程中验证电子邮件地点或暗码的名目,用于理会文本数据文件以查找,替代或删除某些字符串等。

内容:

正则表达式很是强盛,在本教程中,您将进修在Python中行使它们。您将涵盖以下主题:

  • Python中的正则表达式
  • 根基字符:平凡字符
  • 通配符:非凡字符
  • 一再次数
  • 行使正则表达式举办分组
  • 贪心vs非贪心匹配
  • re Python库 --- search() 与 match()

Python中的正则表达式

  • 导入re模块

在Python中,re模块支持正则表达式。行使以下呼吁导入此模块:

  1. Import re 
  • 根基模式:平凡字符

您可以行使平凡字符轻松办理Python中的很多根基模式。平凡字符是最简朴的正则表达式。它们完全匹配,而且在正则表达式语法中没有非凡寄义。

示例为" A"," a"," X"," 5"。

平凡字符可用于执行简朴的完全匹配:

  1. >>>Import re 
  2. >>>pattern = r"Cookie" 
  3. >>>sequence = "Cookie" 
  4. >>>if re.match(pattern, sequence): 
  5. >>> print("Match!") 
  6. >>>else:  
  7. >>> print("Not a match!") 
  8. Match! 

match()假如文本与模式匹配,则该函数返回匹配工具。不然返回None。

不外,此刻让我们存眷平凡字符!您是否留意到r模式的开头Cookie?

这称为原始字符串笔墨。它变动了字符串笔墨的表明方法。这样的笔墨会按其呈现时举办存储。

譬喻,当前缀为a时只是一个反斜杠,r而不是被表明为转义序列。您将看到带有非凡字符的寄义。偶然,语法涉及反斜杠转义的字符,而且为了防备将这些字符表明为转义序列,请行使原始r前缀。在本示例中,您现实上并不必要它,可是行使它来保持同等性是一种很好的做法。

  • 通配符:非凡字符

非凡字符是与正则表达式不匹配但在正则表达式中行使时现实上具有非凡寄义的字符。

最普及行使的非凡字符是:

  •  . -匹配除换行符以外的任何单个字符。
  1. re.search(r'Co.k.e', 'Cookie').group() 
  2. 'Cookie' 

该group()函数返回与匹配的字符串re。稍后您将更具体地看到此成果。

  • w - 小写w。匹配任何单个字母,数字或下划线。
  1. re.search(r'Cowkwe', 'Cookie').group() 
  2. 'Cookie' 
  •  W - 大写w。匹配不属于 w的任何字符(小写w)。
  1. re.search(r'CWke', 'C@ke').group() 
  2. 'C@ke' 
  • s - 小写字母s。匹配单个空格字符,譬喻:空格,换行符,制表符,返回值。
  1. re.search(r'Eatscake', 'Eat cake').group() 
  2. 'Eat cake' 
  •  S - 大写字母s。匹配不属于 s(小写s)的任何字符。
  1. re.search(r'CookSe', 'Cookie').group() 
  2. 'Cookie' 
  • t - 小写字母t。匹配标签。
  1. re.search(r'Eattcake', 'Eat cake').group() 
  2. 'Eattcake' 
  • n - 小写字母n。匹配换行符。
  • r - 小写字母r。角逐回来。
  • d - 小写字母d。匹配十进制数字0-9。
  1. re.search(r'cddkie', 'c00kie').group()'c00kie' 
  • ^-插入标记 在字符串的开头匹配一个模式。
  1. re.search(r'^Eat', 'Eat cake').group()'Eat' 
  • $ -匹配字符串末端的模式。
  1. re.search(r'cake$', 'Eat cake').group() 
  2. 'cake' 

[abc] -匹配a或b或c。

[a-zA-Z0-9]-匹配(a至z)或(A至Z)或(0至9)中的任何字母。可以通过增补荟萃来匹配不在范畴内的字符。假如荟萃的第一个字符是^,则全部不在荟萃中的字符都将被匹配。

  1. re.search(r'Number: [0-6]', 'Number: 5').group() 
  2. 'Number: 5' 
  3. # Matches any character except 5 
  4. re.search(r'Number: [^5]', 'Number: 0').group() 
  5. 'Number: 0' 
  • A-大写a。仅在字符串开头匹配。也可以跨多行事变。
  1. re.search(r'A[A-E]ookie', 'Cookie').group() 
  2. 'Cookie' 
  • b-小写字母b。仅匹配单词的开头或末了。
  1. re.search(r'b[A-E]ookie', 'Cookie').group() 
  2. 'Cookie' 
  • -反斜杠。假如反斜杠后头的字符是公认的转义字符,则回收该术语的非凡寄义。譬喻,n被视为换行符。可是,假如后头的字符不是可识此外转义字符,则将象任何其他字符一样看待并通过。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读