Regex 如何反转YAML文件中的键和值(键:值)

Regex 如何反转YAML文件中的键和值(键:值),regex,yaml,Regex,Yaml,我有一个大的.yml翻译文件,我想在其中反转键和值 我所拥有的: some english sentence : une phrase en francais another one : une autre 我想要什么: une phrase en francais : some english sentence une autre : another one 我相信可能有很多简单的正则表达式可以这么做,但我不知道如何做到这一点 我不搜索脚本,只搜索正则表达式 (.*)\s+:\s+(.*)

我有一个大的
.yml
翻译文件,我想在其中反转键和值

我所拥有的:

some english sentence : une phrase en francais
another one : une autre
我想要什么:

une phrase en francais : some english sentence
une autre : another one
我相信可能有很多简单的正则表达式可以这么做,但我不知道如何做到这一点

我不搜索脚本,只搜索正则表达式

(.*)\s+:\s+(.*)
替代:

$2 : $1

演示:

您可以从一个简单的正则表达式开始:

^(.*):(.*)$
^=线路起点

(*)=第一个匹配组

:=捕获:

(*)=第二个比赛组

$=行尾

例如,使用记事本+,您可以执行以下操作:

搜索:
^(.*):(.*)$

替换
\2:\1

其中
\2
:第二个匹配组的内容 其中
\1
:第一个匹配组的内容


这个方法只有在你的句子不包含

谢谢,我必须颠倒1和2,但这正是我想要的!哦,对不起。修正了你所有的键和值都这么简单吗?尤其是没有一个句子嵌入了
?就像有效的YAML
“他说:”一些英语句子“:“Il dit:“une phrase en francais””
我只有一个包含双点,我手动更改了它。这确实是一件需要关心的事情,所以在我们都同意之后,我们现在尝试用正则表达式来解析YAML?我认为你的评论真的很有帮助,@flyx!谢谢