sunbird7800 发表于 2019-1-14 20:47:56

还是正则表达式的问题,呼唤高手

请问如何在anki中,用查找替换把上面的内容变成下面的:

{{c1::home}}
{{c2::local}}
{{c3::national}}
-----------------------------
h{{c1::ome}}
l{{c2::ocal}}
n{{c3::ational}}

jonah_w 发表于 2019-1-14 21:13:22

(?<!\w)(\{\{[^:]*::)(\w)([^}]*}})
替换为
\2\1\3

sunbird7800 发表于 2019-1-14 21:41:44

jonah_w 发表于 2019-1-14 21:13
替换为

谢谢,我试试看去

simonfire 发表于 2019-1-14 21:51:02

jonah_w 发表于 2019-1-14 21:13
替换为

为啥你前面的花括号转义了,后面的没转

jonah_w 发表于 2019-1-14 21:59:40

本帖最后由 jonah_w 于 2019-1-14 22:04 编辑

simonfire 发表于 2019-1-14 21:51
为啥你前面的花括号转义了,后面的没转
避免跟正则里的这个语法冲突:{1,3}
这种转一半就可以的。
我又试了一下,如果在编辑器里操作的话其实这个地方不转义也没问题。

转义比较严格的地方是在命令行里操作正则的时候,有时候必须加转义。

y8888 发表于 2019-1-14 22:40:40

(.*::)(.)替换成\2\1

jonah_w 发表于 2019-1-14 22:51:12

y8888 发表于 2019-1-14 22:40
(.*::)(.)替换成\2\1

y大这个厉害了 {:4_105:}
感觉观察力惊人 {:4_96:}

dongzhi1980 发表于 2019-1-15 08:32:56

y8888 发表于 2019-1-14 22:40
(.*::)(.)替换成\2\1

y大的好简洁,
但是,如果楼主给的数据由于排版问题而出现
{{c1::home}}
{{c2::local}} {{c3::national}}
的情况,y大的是不是容易误判?你看这样如何?
(\{.*?::)(.)->\2\1

sunbird7800 发表于 2019-1-15 17:39:17

jonah_w 发表于 2019-1-14 21:13
替换为

It does work. Many many thanks!!
p.s Your solution covers words plus phrases~~~
页: [1]
查看完整版本: 还是正则表达式的问题,呼唤高手