Eclipse найти и заменить на регулярное выражение не работает с "(?= Регулярное выражение)"?
Я попытался найти и заменить некоторые теги SpringSource Tool Suite(Eclipse). я хочу измениться <annotation-driven />
в <mvc:annotation-driven />
но я не хочу <beans:bean ..>
быть <mvc:beans:bean ...>
,
Таким образом, я сделал регулярное выражение вот так (на самом деле регулярное выражение длиннее, чем это, но я сделал это простым):
Найти:
<(?=[^b])
Заменить:
<mvc:
я добавил (?=regex)
выражение, чтобы избежать выбора первого символа. Он успешно находит, но ничего не заменяет. Если я удалю (?=regex)
Выражение работает нормально, но первый символ удаляется.
Это ошибка? Или я что-то не так сделал?
1 ответ
Я бы использовал (?!b)
, но (?=[^b])
должно работать тоже. В любом случае, попробуйте это:
Найти:
<([^b])
Заменить:
<mvc:$1
$1
должен вставить содержимое первой группы захвата, т. е. письмо, которое не b
,
Если это не работает с $1
, пытаться <mvc:\1
вместо.