首页
学习
活动
专区
圈层
工具
发布

python入门(八)单词堆中查找特定单词(正则表达式)

代码语言:javascript
复制
代码语言:javascript
复制
#用正则表达式找到文本中所有的s开头,e结尾的单词
import re

text = "site sea sue sweet see case sse ssee loses"

m = re.findall(r"\bs\S*e\b", text)

if m:

    print(m)

else:

    print('not match')

以上程序中所用到的知识点如下:

  • re.findall(r"正则表达式", text)

#re是python里的正则表达式模块

findall() #用来按照正则表达式,匹配文本中所有符合条件的字符串 #返回结果是一个包含所有匹配的list

  • 正则表达式

记录文本规则的代码 #"\b"表示单词的开头或结尾 #"[]"表示满足括号中任一字符 #"."表示除换行符以外的任意字符 #"\S"表示不是空白符的任意字符 #"*"表示前面的字符可以重复任意多次 #"+"表示前面的字符可以重复1次以上 #"{数字}"表示前面的字符可以重复的次数 #"0-9"表示0-9一串连续的数字 #"\d"表示[0-9]

  • r"字符串"

#r即为raw的意思 #表示对字符串不进行转义

  • 注意可能出现的错误

分析题目后,你可能做出的正则表达式是这样的 "\bs.*e\b"

以上表达式错误的原因

#它可能将"sea sue"等内容匹配 #内部有空格也符合要求

下一篇
举报
领券