我需要更新文本板中一个大文件中的日期格式。
日期格式目前是 mm-dd-yyyy ,我需要将其改为 mm/dd/yyyy
每行带有日期,均以 D 开头。
像这样:D02-12-2009
我的正则表达式搜索部分运行良好^D(。?)-(。?)-(.*?)?,但当我尝试使用 $1 $2 $3 替换我的值 D$1/$2/$3 时,替换失败。它用文字 $1、$2 和 $3 替换。我已将 textpad 设置为使用 POSIX 正则表达式。
关于如何捕获这些值并将其放入我的替换部分,有什么想法吗?
答案1
请使用\1 \2 \3
而不是$1 $2 $3
找什么:D([0-9]+)-([0-9]+)-([0-9]+)
用。。。来代替:D\1/\2/\3
前
D02-12-2009
D03-12-2009
D04-12-2009
后
D02/12/2009
D03/12/2009
D04/12/2009
关于分组
将标记表达式分组以用于替换表达式。RE 最多可以有 9 个标记表达式,根据它们在 RE 中的顺序进行编号。相应的替换表达式是 \x,x 的范围为 1-9。示例:如果 ([az]+) ([az]+) 匹配“way error”,则 \2 \1 会将其替换为“wrong way”。
附言:我不知道为什么要将其移到这里,这是我第一次来这里。:-)
答案2
“每行带有日期的行都以 D 开头。”为了更加安全,我会添加“^“到 find 表达式:**^**D([0-9]+)-([0-9]+)-([0-9]+)
。
字符串不太可能出现在其他地方,但是......