这里是一个正则表达式新手。 我有这个字符串:
year_with_txt = 'foo 1999'
和
year_only = '1999'
。
我想省略任何连续的4位数字。 当我这样做时:
re.sub(r'^[0-9]{4}$', '', year_only)
或
re.sub(r'^\d{4}$', '', year_only)
有效。但是,如果输入其他文字,则不会:
re.sub(r'^[0-9]{4}$', '', year_with_txt)
或
re.sub(r'^\d{4}$', '', year_with_txt)
有什么建议吗?
答案 0 :(得分:2)
原因是您的^
和$
令牌。这些分别引用字符串的开头和结尾。
re.sub(r'\d{4}', '', year_with_txt)
有效。
输出:
'foo '
注意:您将字符串定义为year_with_txt
,但在其余代码中将其称为year_with_text
。