python 正则表达式求助

czw8819 2019-06-09 10:46:57
代码以下:

import re
ss1 = "python is very Good! 我在学PYTHON。I Like Python。"
pattern = r'python\w+'
result = re.match(pattern,ss1,re.I)

if result==None:
print("--- 抱歉,找不到匹配 ----"+ str(result))
else:
print(" ---- OK,找到匹配词: "+ str(result))


【python】明明在字符串中,但结果提示为None, 找不到匹配。
如果将 pattern 改为 = r'pytho\w+' 就正常
不知何解,麻请高手手解答,谢谢!
...全文
49 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuantong37 2019-06-10
  • 打赏
  • 举报
回复
\w匹配字母数字下划线,不匹配空格,+表示匹配一个或多个,python的后面是空格,因此不能匹配,如果把+换成*就能匹配了
czw8819 2019-06-09
  • 打赏
  • 举报
回复
谢谢你的解答, 但是还是不明白
为什么改成:r'pytho\w+' 却能正常匹配到呢?
多了个字母“n" 就不能, 何解?
乱舞神菜 2019-06-09
  • 打赏
  • 举报
回复
'\w' 是a-z A-Z 1-9 下划线_ 匹配,不包括空格的,然后“+”是匹配1个或者任意多个字符直到不符合的字符串,例如文本:abcd \w+可以匹配abcd 如果文本:ab+cd 只会匹配到ab,所以你的python\w+中的\w匹配不到任何东西,所以返回的是none
czw8819 2019-06-09
  • 打赏
  • 举报
回复
还是自己来解决吧
pattern = r'python\w+'改为 pattern = r'python'就可以了

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧