我有我想用查找操作和在记事本替换++在文本文件中标签名称的列表,它们列出如下:记事本++ RegeEx组捕捉语法
MyLabel_01
MyLabel_02
MyLabel_03
MyLabel_04
MyLabel_05
MyLabel_06
我想将其重命名在记事本++以下几点:
Label_A_One
Label_A_Two
Label_A_Three
Label_B_One
Label_B_Two
Label_B_Three
正则表达式我使用的记事本+ +的替换对话框捕捉标签名称如下:
((MyLabel_0)((1)|(2)|(3)|(4)|(5)|(6)))
我想如下替换每个捕获组:
\1 = Label_
\2 = A_One
\3 = A_Two
\4 = A_Three
\5 = B_One
\6 = B_Two
\7 = B_Three
我的问题是记事本++没有注册上述正则表达式的语法。当我在替换对话框中点击计数时,它返回0次出现。不知道语法中有什么错误。是的,我确定选择了正则表达式单选按钮。帮助表示赞赏。
UPDATE:
试图逃避括号,仍然没有工作:
\(\(MyLabel_0\)\((1\)|\(2\)|\(3\)|\(4\)|\(5\)|\(6\)\)\)
谢谢艾哈迈德,无论如何,这可以使用像grep这样的工具来完成吗? – kingrichard2005
@ kingrichard2005我对grep并不太熟悉,对它的快速搜索似乎没有揭示这样的功能。我确实找到了一个名为PowerGREP的工具。它不是免费的,但它们提供了一个试验和[支持额外的处理能力](http://www.powergrep.com/extra.html),它将提供映射替换功能(它们的屏幕截图示例显示了一些被替换的URL编码字符) 。尽管这种类型的功能不太难编码。我已经通过使用C#的示例方法更新了我的帖子,可能会对您有所帮助。 –
谢谢艾哈迈德,我最终手动重命名了标签,幸运的是没有太多。我会接受你的回答,因为我没有意识到只用正则表达式就无法做到这一点。感谢您的建议和示例备选方案。 – kingrichard2005