NotePad++ - почему не работает поиск^?

Я пытаюсь отойти от TextPad, и я просто не могу получить регулярное выражение, как ^ и $ подлежит замене. Я определенно поставил галочку в поле регулярное выражение.

что я делаю не так?

Я пытаюсь найти начало новой строки. В TextPad это-find ' ^ ' и гарантирует, что регулярные выражения включены. С Notepad++ это не так. Просто написано "не найдено".

12
задан Peter Mortensen
25.11.2022 20:24 Количество просмотров материала 3649
Распечатать страницу

6 ответов

^ и $ как якорь в регулярном выражении, что означает, если вы хотите заменить литеральные символы ^ и $ вам нужно избежать их, как правило, с ведущей обратной косой чертой (\^ и $).

найти первый символ в строке ^.

якорь стартовой линии (^) является совпадением нулевой ширины, поэтому комбинируем его с. найдете любой символ в начале строки.

может быть, вы можете объяснить, что вы на самом деле пытаешься сделать?

21
отвечен John Weldon 2022-11-27 04:12

потому что это специальные символы, которые представляют фронт (^) и конец строки ($). Попробуйте избежать их с \.

примеры:

матч "кошка" в начале строки:

^Cat

матч "кошка" в конце строки:

Cat$

матч "кошка" как только строки:

^Cat$

Матч "$100" в строку:

$100 

здесь ссылка на особенности сопоставление регулярных выражений в Notepad++.

8
отвечен RC. 2022-11-27 06:29

У меня была такая же проблема. После некоторых проб и ошибок вы можете достичь того же, выполнив следующие действия:

найти: ^(.)

заменить: [строка, которую вы хотите вставить]\1

что это будет делать, так это найти и пометить первый символ строки, поместить в новую строку и поместить помеченный символ после него.

например, мне нужно было вставить одну кавычку в начале каждого line:

найти: ^(.)

заменить: '\1

вы можете сделать то же самое для конца строки, выполнив:

найти: (.)$

заменить: \1*[строка, которую вы хотите присвоить]*

5
отвечен Willy 2022-11-27 08:46

У меня получилось.

до

  • Albert@hotmail.com
  • Lucas@gmail.com
  • Rober_Klein@aol.com
  • Fisher@zmail.com

после

  • Альберт
  • Lucas
  • Rober_Klein
  • Fisher

удалить после символа или текста

@(.* )$

снимите перед символом или текстом

^(.* )@

dot = any character
asterisk = zero or more times
1
отвечен ezequias 2022-11-27 11:03

вот как это сделать...

перед:

$_GET['id']; $_GET['nick'];

после:

htmlentities($_GET['id']); htmlentities($_GET['nick']);

так. На найти поле поставить:

$_GET(.*])

на заменить поле поставить:

htmlentities($_GET)
1
отвечен Lue 2022-11-27 13:20

проблема, похоже, была исправлена.

в Notepad++ v6.9.2 (работает под Windows 7) я получаю оба ^ (начало строки) и $ (конец строки) для работы.

0
отвечен Elias Mossholm 2022-11-27 15:37

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх