problem
以下哪一个正则表达式不能与字符串“https://www.tensorflow.org/”(不含引号)匹配?【此题仅一个正确选项】
(5分) (A)
A、https[://]www[.]tensorflow[.]org[/]
B、[a-z]+://[a-z.]+/
C、[a-zA-Z.:/]+
D、[htps]+://www.tensorflow.org/
Analysis
本人开始对正则表达式不熟悉,所以做错了,后来写了一点代码来验证了一下答案,我这里把代码分享出来:
import re
line = "https://www.tensorflow.org/"
A=r'https[://]www[.]tensorflow[.]org[/]'
B=r'[a-z]+://[a-z.]+/'
C=r'[a-zA-Z.:/]+'
D=r'[htps]+://www.tensorflow.org/'
matchObj = re.match( A, line, re.M|re.I)
if matchObj:
print ("matchObj.group() : ", matchObj.group())
else:
print ("No match!!")
经验证发现,A是不匹配的,读者可以自己运行一下,我的环境是python3. 如果A要匹配上,需要变为:
A=r'https[://]+www[.]tensorflow[.]org[/]'
多加一个+号就行了。
+表示匹配前一个字符1次或无限次
参考文献
[1].Python正则表达式指南.https://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
[2].Python 正则表达式.http://www.runoob.com/python/python-reg-expressions.html