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 вместо.

Другие вопросы по тегам