#用正则表达式找到文本中所有的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"等内容匹配
#内部有空格也符合要求