gpt4 book ai didi

regex - 如何使用正则表达式在等号的左侧和右侧查找重复的字符串

转载 作者:行者123 更新时间:2023-12-04 18:29:21 24 4
gpt4 key购买 nike

我有一个包含一些翻译和一些缺失翻译的文件,其中英文键等于翻译。

...
/* comment1 */
"An unexpected error occurred." = "Ein unerwarteter Fehler ist aufgetreten.";

/* comment2 */
"Enter it here..." = "Enter it here...";
...

是否可以:

  1. 找出所有出现的 "X"= "X";?
  2. 奖励:对于所有出现的删除行,上面的注释行和上面的换行符?

最佳答案

你需要在这里使用反向引用,类似于:

/"(.+)"\s*=\s*"\1"/
^ ^
| |
| backreference to first string
|
capture group for first string

请注意,反向引用的语法因语言而异,上面的语法适用于您在 Ruby 中的情况,例如

❯ irb
2.2.2 :001 > r = /"(.+)"\s*=\s*"\1"/
=> /"(.+)"\s*=\s*"\1"/
2.2.2 :002 > r.match('"foo" = "foo"')
=> #<MatchData "\"foo\" = \"foo\"" 1:"foo">
2.2.2 :003 > r.match('"foo" = "bar"')
=> nil

为了回应您关于想要在文本编辑器中执行此操作的评论,请删除前导/尾随斜杠,并且上述正则表达式在 Sublime Text 中应该可以正常工作......在其他编辑器中 YMMV。

关于regex - 如何使用正则表达式在等号的左侧和右侧查找重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32507562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com