У меня есть текстовые строки, как

string1,email,string2,string3

Как я могу использовать регулярное выражение, чтобы вернуть следующее?

string1,email

Я хочу удалить все, что идет после 2-й запятой.

2 ответа2

4

Ищи:

^([^,]*,[^,]*),.*$

и заменить на

\1

Объяснение:

^ указывает, что шаблон должен совпадать с начала строки.
[^,]*, это текст без запятой, за которым следует запятая. Два из них подряд дают вам первые два элемента в вашем списке через запятую.
.*$ - все остальное в строке.
\1 возвращает все, что соответствует шаблону в скобках.

РЕДАКТИРОВАТЬ в ответ на комментарий:

Чтобы поменять местами электронную почту и строку1, используйте вместо этого:

Ищи:

^([^,]*),([^,]*),.*$

и заменить на:

\2,\1

Числа соответствуют порядку групп в скобках в шаблоне поиска.

0

Вы можете сделать так:

  • В Блокноте ++ нажмите Ctrl + F

  • Выберите вкладку: заменить

  • Отметить опцию регулярного выражения

  • Установить в поиске: (.*),email,(.*)

  • Заменить на: \1,email

Просто отдохнуть, чтобы нажать кнопку Заменить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .