我必须在python 2.7中匹配格式的字符串 -
{月份的2位数日} {确切的词de或del} {4位数年份}
并仅用
替换字符串的整个子字符串
{月份的2位数日期} {4位数年份}并删除单词de / del。
我知道单词边界(\ b),我试过这个:
s4 = "la fecha de hoy es septiembre 31 de 1958 and tom fecha septiembre
30 de 1958"
s4 = re.sub(r'((\b\d{2}\b)[de,del](\b\d{4}\b)', "\\1 \\3", s4)
任何帮助将不胜感激。
答案 0 :(得分:0)
[de,del]
匹配以下字符之一:del,
你想使用del?
(“de”,最后可能是“l”)
如果你想匹配使用\s
的空格,我更喜欢使用这个而不是\b
答案 1 :(得分:0)
[de,del]
与您的想法不符。此表示法用于character class。如果您想匹配de
或del
,可以将其写为del?
31 de
和de 1958
之间有一个空格。您可以将其匹配为\s
,或者是否有更多\s+
或仅仅是空白。
我认为你不需要外部捕获组。这样,将只有2个捕获组将用于替换。
对于这场比赛,我认为您不需要单词边界\b
,但如果您想保留它们,您可以将正则表达式更新为: