我有这一行:
;Last updated: Sunday, January 23, 2011
我想用当前时间替换日期。所以,我使用replace-regxp和以下组合键:
M-x replace-regexp RET \(Last updated: \)[A-Z ,]*[0-9 ,]* RET \1\,(format-time-string "%A, %B %e, %Y")
但这会产生以下结果:
;Last updated: Tuesday, January 25, 2011unday, January 23, 2011
如何让replace-regexp替换整个旧日期而不是第一个字母?
答案 0 :(得分:2)
你的正则表达式只匹配大写字母。由于u
中的Sunday
是小写的,它只匹配Last updated: S
,所以这一切都会被替换。
要解决此问题,请将a-z
添加到字符范围。
答案 1 :(得分:0)
你只要求大写字母。
试试这个:
M-x replace-regexp RET \(Last updated: \)[a-zA-Z ,]*[0-9 ,]* RET \1\,(format-time-string "%A, %B %e, %Y")