Перейти к содержанию

помогите разобраться с регулярными выражениями


Рекомендуемые сообщения

мне нужно  удалить в тексте пробелы в  каждой строке , но только до  символа  знак = , а дальше пробелы  в строке  не удалять . как это сделать ?
например  есть строки
абв гд ежз и клмн = опр ст уфх
ббв дд ккж цц = ттв гн тмс

а нужно  что бы получилось так
абвгдежзиклмн= опр ст уфх
ббвддккжцц= ттв гн тмс

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

Ссылка на комментарий
Поделиться на другие сайты

ЯП какой? В общем случае, регулярка, которая будет находить пробелы слева от знака = будет такой:

\s(?=.*?=)


А дальше средствами своего ЯП заменяешь мэтчи на пустоту, и всё.

Изменено пользователем Xipho
Поправил выбору на нежадную
Ссылка на комментарий
Поделиться на другие сайты

23 минуты назад, Xipho сказал:

ЯП какой?

 

извини я наверно не правильно спросил . я не програмер  поэтому языки не знаю . пробую найти и заменить  в редакторе notepad++  с применением рег выражений . это можно сделать в таком редакторе без програмирования ? пробовал в других редакторах  то же не выходит.  найти получаеться , а как удалить только  пробелы  в найденом не понятно . удаляеться весь кусок до знака = .

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Alex2411 сказал:

удаляеться весь кусок до знака

 

Замена по регулярке в notepad++

image.png

 

Результат

image.png

 

Разумеется, в поле "Заменить на" не должно быть ничего. То есть, должно быть пусто. И моя регулярка, как видишь, срабатывает правильно.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Xipho сказал:

И моя регулярка, как видишь, срабатывает правильно.

 

 

вижу да . все работает отлично спасибо . только я не понимаю как  она работает . хочеться понять и научиться делать  самому , а не тупо брать готовое .
в твоем выражении
\s(?=.*?=)
что \s значит пробел , а .* значит любой символ я знаю , но мне не понятно  как работают ?= и как работают скобки .  пробовал  в тестере рег выражений  смотрел на что влияет , но не допер .
можешь объяснить ? или дать ссылку где прочитать ели объяснять не охота ? только  чтобы по ссылке  понятно было чайнику . я искал в гугле про регулярные выражения в notepad++ . статей нашел полно , но не где не  попалось толковых описаний .

Ссылка на комментарий
Поделиться на другие сайты

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

Моя регулярка читается примерно так:

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

По регуляркам есть целые книги, названия, к сожалению, подсказать не смогу, уже не помню.

ЗЫ. Для тестов рег выражений я исользую сайт regex101.com - как по мне, самый отличный сайт.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.