2014-09-28 2 views
0

Я пытаюсь создать регулярное выражение для поиска и замены функции «Найти в файлах» Notepad ++.Notepad ++ заменяет односимвольное исключение?

Мне нужно найти любое вхождение: href="whatever" и предварять URL с /data/ так, что она становится: href="/data/whatever"

Однако, мне нужно, чтобы исключить любую такую ​​находку, которая уже содержит начальный слеш, то есть: href="/whatever" потребности в пропустить.

Кажется, это должно быть легко, так как регулярное выражение идет, и я изучил множество примеров и пришел к тому, что, как я думаю, должен работать! Но это не работает. Может ли кто-нибудь сказать мне, где это происходит неправильно?

Find: href="([^/]*)" 
Replace: href="/data/\1" 

Спасибо за любую помощь - это неприятно, когда вы этого не делаете каждый день.

ответ

3

Используйте это регулярное выражение замены:

Find: href="([^/][^"]+)" 
Replace: href="/data/\1" 

В регулярном выражении:

href="([^/][^"]+)" 
     \  \ skips to the end of the "s, effectively landing on " 
     \ asserts that the first character is not/

Вот regex demo.

+0

Ahh, конечно, побег ... и теперь я вижу способ добраться до конца URL-адреса. Мало того, что это отвечает на мой вопрос, но помогло мне трамплин в каком-то более глубоком регулярном выражении, я работал - Спасибо большое! – soyo

+0

@Unihedron Nice - закладки. ++ tx – soyo

+0

Не нужно избегать косой черты. – Toto

Смежные вопросы