请考虑以下事项:
sentences = list(
'Y.M.C.A.',
'HELLO WORLD',
'We ARE the Best KIDS',
'from A.C.M. we PRESENT',
'Y9C1'
)
如何使用python和re输出?:
>>> Y.M.C.A
>>> Hello world
>>> We are the best kids
>>> From A.C.M. we present
>>> Y.9.C.1
我摆弄了一下,这是我到目前为止所做的:
for i in sentences:
if re.match('([A-Z]|[0-9]?)+', i): # Matches list[0] and list[4]
i.replace(' ', '.')
elif re.match('What to put here?', i): # Should match list[3]
i.title()
else:
i.capitalize()
print(i)
我希望根据大小写和标点符号使用来区分字符串,到目前为止我已设法匹配Y.M.C.A.
和Y.9.C.1
,但我无法绕过最后一个。
根据我尝试过的regexr/3lkus,我注意到我的第一个if匹配也可以匹配from A.C.M. we PRESENT
。
关于re.match和regex如何在幕后工作,我有点困惑,有人可以对此有所了解吗?
修改:我已根据Jean-François
的评论对list[3]
的句子方式进行了更改