Регулярка и замена

  • Автор темы Автор темы russya
  • Дата начала Дата начала

russya

Client
Регистрация
08.07.2014
Сообщения
764
Реакции
90
Баллы
28
Текст: Привет, Привет как дела |Привет|

Пользуюсь заменой. Заменяю слово Привет на П и у меня заменяет 3-и слово
А мне нужно только 2-а первых. Как сделать чтобы это |Привет| не входило в замену?
 
(^| )Привет
 
Это значит перед словом нету "|" ?
после. (?!слово) - просмотр вперёд с отрицанием. Удобно, когда нужно отрицать более одного символа.
В данной ситуации также подойдёт Привет(?=[^|]) т.к. всего один символ нас может не устраивать
 
Странно, но тут же нет отрицания.
тут другая логика. В первом случае для нас нужно было, чтобы после слова привет не было |
Во втором случае нас устраивает любой символ после привет, кроме |
 
У меня разные варианты бывают. Нужно чтобы эти не брались |Привет| {Привет| |Привет}
А все остальные брались, такие как Привет Привет, Привет. "Привет"
 
что-то не могу написать регулярку
 
что-то не могу написать регулярку
Зайди в конструктор регулярок, вставь слева примеры, а сверху вставь регулярки которые написали, и смотри совпадает ли кол-во найденных с кол-вом нужных. Надо было сразу примеры все давать. Вы дали одну строку, по ней вам и сделали регулярку. Экстрасенсов тут нету.

тут другая логика. В первом случае для нас нужно было, чтобы после слова привет не было |
Во втором случае нас устраивает любой символ после привет, кроме |
Ну вроде как квадратные скобки это значит отрицание. Верно?
 
  • Оценить
Реакции: russya
Зайди в конструктор регулярок, вставь слева примеры, а сверху вставь регулярки которые написали, и смотри совпадает ли кол-во найденных с кол-вом нужных. Надо было сразу примеры все давать. Вы дали одну строку, по ней вам и сделали регулярку. Экстрасенсов тут нету.


Ну вроде как квадратные скобки это значит отрицание. Верно?
Квадратные скобки - не отрицание. В квадратных скобках идёт перечисление того, какие символы могут быть. Если стоит ^ значит какие символы исключаем из поиска.
 
  • Оценить
Реакции: Mikhail B. и russya
(?<=[^{]|[^|])Привет(?=[^}]|[^|]) - может подскажете в чем тут ошибка
 
(?!=\||\})Привет(?!\||\})
 
(?<=[^{|])Привет(?=[^}|])
Все равно что-то не то.
Привет как дела
впер |Привет| вап
апыва {Привет|пвап
апвыа|Привет} авива
{Привет} авп
hgk Привет!
jgk Привет.
Привет,
fjgkld {Привет

Должно 4 привета выбить, а выбевает 3
 
Все равно что-то не то.
Привет как дела
впер |Привет| вап
апыва {Привет|пвап
апвыа|Привет} авива
{Привет} авп
hgk Привет!
jgk Привет.
Привет,
fjgkld {Привет

Должно 4 привета выбить, а выбевает 3
из-за привета в начале. Нет символов до

(?<![{|])Привет(?![|}])
 
  • Оценить
Реакции: russya
из-за привета в начале. Нет символов до

(?<![{|])Привет(?![|}])
Спасибо большое хороший человек. Но после этого у меня другая загвоздка.
Получается если у меня есть слово Приветик и я зменяю этой регуляркой, то у меня получается заменит вот так Пик, А мне нужно чтобы такие слова тоже не заменяло. Помоги и я копеечку тебе подкину
 
или есть такие пример: громПриветик . Ответ будет громПик . А мне нужно чтобы такие слова не трогало. Как это называется, строгий поиск
Может лучше сделать не отрицание, а какие символы могут быть перед и после словом. Например только пробелы и запятые и точки и разные "" ()
 
Спасибо большое хороший человек. Но после этого у меня другая загвоздка.
Получается если у меня есть слово Приветик и я зменяю этой регуляркой, то у меня получается заменит вот так Пик, А мне нужно чтобы такие слова тоже не заменяло. Помоги и я копеечку тебе подкину
Давай ты обдумаешь сначала все возможное повороты и варианты и выложишь текст-пример со всеми этими вариантами, когда надо менять, а когда нет. Выложишь, что должны получить в итоге. Тогда и будет решать всё сразу, не по шажочку
 
По моему он вобще ниче не берет теперь)) Наверно ему еще надо, что бы регистронезависим поиск был.
1e1dfda869ba9bba1de2e0ef68f9bf25.png

Да берет, вроде
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)