正则表达式的基本 python 语法问题
Problems with basic python syntax for regular expressions
我正在为生物信息学考试而学习,但我的教授做了一些我不明白的事情。我试过查找它,但有人可以用非编程语言解释一下吗?我真的尝试过查资料来理解,但我只是有点 clueless.My 问题是关于这个的;
import re
line = "Cats are smarter than dogs"
matchObj = re.match(r'(.*) are (.*?)*',line,re.M|re.I)
if matchObj:
print("matchObj.group():",matchObj.group())
print("matchObj.group():",matchObj.group(1))
print("matchObj.group():",matchObj.group(2))
我的问题:
(.*) 的作用是什么,我猜您正在尝试匹配 'cats' 但是为什么不直接输入 cat?我明白那个 。意思是 'any character' 但我不明白 * 是做什么的
组合(.?)'有什么作用?
re.M|re.I是做什么的?
非常感谢!我开始变得有点绝望了。我的头脑只是无法以正确的方式理解我认为的这类事情。
我会给你第一个,这些实际上和你在野外看到的正则表达式一样简单:)
.
是任意字符
*
是无限次
所以...
(.*)
任意字符无限次
这里是关于正则表达式 link 到 python 的文档 https://docs.python.org/2/library/re.html...您可以轻松地查找每个字符。试一试,如果遇到困难,post 会带着你的问题回到这里 :)
我正在为生物信息学考试而学习,但我的教授做了一些我不明白的事情。我试过查找它,但有人可以用非编程语言解释一下吗?我真的尝试过查资料来理解,但我只是有点 clueless.My 问题是关于这个的;
import re
line = "Cats are smarter than dogs"
matchObj = re.match(r'(.*) are (.*?)*',line,re.M|re.I)
if matchObj:
print("matchObj.group():",matchObj.group())
print("matchObj.group():",matchObj.group(1))
print("matchObj.group():",matchObj.group(2))
我的问题:
(.*) 的作用是什么,我猜您正在尝试匹配 'cats' 但是为什么不直接输入 cat?我明白那个 。意思是 'any character' 但我不明白 * 是做什么的
组合(.?)'有什么作用?
re.M|re.I是做什么的?
非常感谢!我开始变得有点绝望了。我的头脑只是无法以正确的方式理解我认为的这类事情。
我会给你第一个,这些实际上和你在野外看到的正则表达式一样简单:)
.
是任意字符
*
是无限次
所以...
(.*)
任意字符无限次
这里是关于正则表达式 link 到 python 的文档 https://docs.python.org/2/library/re.html...您可以轻松地查找每个字符。试一试,如果遇到困难,post 会带着你的问题回到这里 :)