我正在尝试使用查找-替换对话框(Ctr-F)在eclipse中进行一些字符串替换,但我甚至不确定是否可以在单个操作中完成……
假设我正在编辑一个文本文件,其中包含一个单词对列表(单词对中的单词用点分隔,单词对用逗号分隔),例如
{word1.word2,word3.word4,wordn.wordm,...} 我想查找所有匹配此模式的字符串,并将其替换为成对的所有第二个单词的列表,例如
{word2,word4,wordm,...}是否可以使用单个查找-替换操作,如果可以,查找和替换表达式是什么?
显然,在查找-替换对话框中,我会选中正则表达式和全部替换复选框
发布于 2014-10-08 17:27:25
它不是防弹的,但试试这个:
Search: (?<=\{|,)\w+\.(?=\w+(,|\}))
Replace: <blank>这是假设eclipse支持look arounds,但由于known bug的原因,eclipse不支持look arounds。将外观转换为捕获,并简单地将捕获的文本放回原处,这是可行的(经过测试):
Search: (\{|,)\w+\.(\w+(,|\}))
Replace: $1$2发布于 2014-10-08 17:14:04
为此,您可以使用groups。搜索([^{.,]+)\.([^{.,]+),然后使用\2或$2作为替换模式。
正则表达式的各个部分周围的()告诉它要将这部分作为一个组来记住。然后,您可以按编号访问每个组。$0是一个特殊的组,它等于整个匹配输入。
如果您嵌套组,则只需计算(即可找到要使用的数量:
a((1)?(2)?)b组1:1?2?
组2:1?
第三组:2?
https://stackoverflow.com/questions/26251077
复制相似问题