Поиск и замена с помощью компонентов RegEx в редакторе Atom


130

Я хочу найти и заменить это

`https://example.com/`{.uri}

в

[https://example.com/](https://example.com/)

С vimя сделал бы s/(HTTP. *) , {.uri}/[\1](\1)/gНо это не работает с atom.io. Как я могу это решить?


3
Я тоже мог бы использовать vim. Хотелось бы узнать, как решить данную проблему с atom.
Wintermeyer

Ответы:


215

Если вы нажмете Cmd-F и откроете панель поиска, с правой стороны появится кнопка «. *». Щелкните его, и теперь это режим регулярного выражения.

я нахожу

(http.*)\{\.uri\}

и заменить на

[$1]($1)

4
s/(http.*){.uri}/[\1](\1)/gне работает atomс активированным RegEx. Возможно, это ошибка или другой синтаксис RegEx. Это было причиной моего вопроса.
Wintermeyer

19
Я нахожу «(http. *) \ {\. Uri \}» и заменяю на «[$ 1] ($ 1)». Оно работает. Это регулярное выражение в стиле Perl, которое я считаю стандартом.
speedogoo

1
@speedogoo Вы должны представить это как правильный ответ.
метод

3
Есть идеи, как мне оценить захваченную группу, чтобы что-то сделать с ней перед заменой? Например, если $1захватывается группа номеров - 123, замените ее, добавив к ней 1, что-то вроде eval($1+1)..?
SexyBeast

6
Хорошо, я просто забыл использовать круглые скобки в регулярном выражении. Просто проигнорируйте то, что я сказал.
Antoine

19

Juste для обновления @ ответ speedogoo в считывателей в будущем, если вы не можете найти режим регулярных выражений в окне поиска, это выглядит следующим образом :

введите описание изображения здесь

Вы также можете открыть его с помощью сочетания клавиш Ctrl+ Alt+ / (по умолчанию) .


Обратите внимание, что даже ^и $ уже поддерживаются функцией поиска и замены Atom.


1
Вы говорите, что Group Replace не работает с Atom, что делает принятый ответ неверным (и портит мне день с Atom)?
Дэн Розенстарк

3
Я полагаю, он имел в виду, что привязки начала ^и конца строки $не поддерживаются. Поддерживается замена группы.
SadullahCeran

3
Работает в последних версиях, связанный вопрос с github закрыт.
Фрэнк Ли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.