这是我要更改的一些文本中的两行
Dorset Rd (5) - 2018-12-14 11-01-05
Crampton Chas - Sandarra Blvd - 2018-12-27 12-31-56
我正在尝试将日期和时间从每行的末尾移动到开始以生成该日期和时间
2018-12-14 11-01-05 - Dorset Rd (5)
2018-12-27 12-31-56 - Crampton Chas - Sandarra Blvd
通过阅读本论坛(感谢大家),我提出了以下正则表达式
(^.*)\s-\s(.*$)
并将其用作替代
$2 - $1
这很好,但是我有两个问题:
答案 0 :(得分:1)
我想知道为什么“ \ s- \ s”找到了最后一次出现的“-”而不是第一个?
因为第一个*
是贪婪的。它首先匹配所有内容,然后回溯直到匹配字符串其余部分的内容为止。参见this question。
通过选择最后19个字符并以某种方式将其移到开头可以更好地做到这一点吗?
如果您的日期格式始终包含19个字符,请确保!
^(.*) - (.{19})$
替换相同的替换物。
不确定这是否“更好”,而不知道“更好”的意思。