用正则表达式查找和替换Eclipse不能使用“(?= regex)”?

时间:2011-09-01 13:38:11

标签: regex eclipse sts-springsourcetoolsuite

我试图用SpringSource Tool Suite(Eclipse)查找并替换一些标签。我想将<annotation-driven />更改为<mvc:annotation-driven />,但我不希望<beans:bean ..><mvc:beans:bean ...>

所以我像这样制作正则表达式(实际上正则表达式比这更长但我简单了):

  

查找:<(?=[^b])

     

替换为:<mvc:

我添加了(?=regex)表达式以避免选择第一个字符。它找到成功但不替换任何东西。如果我删除(?=regex)表达式,它可以正常工作但第一个字符被删除。

这是一个错误吗?或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

我会使用(?!b),但(?=[^b])也应该有用。无论如何,试试这个:

  

查找:<([^b])

     

替换:<mvc:$1

$1应插入第一个捕获组的内容,即不是b的字母。

如果它不适用于$1,请尝试使用<mvc:\1