Форум программистов, компьютерный форум, киберфорум
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/349: Рейтинг темы: голосов - 349, средняя оценка - 4.52
 Аватар для superpuper
103 / 103 / 48
Регистрация: 09.09.2010
Сообщений: 241

RegExp исключить слово

16.06.2011, 04:14. Показов 67138. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи единофорумцам!!!
Регулярное выражение
JavaScript
1
/("[\s\S]*?")/g
, находит все слова и фразы в кавычках. Как исключить из поска заданное слово, напр "exceptword". Единственный известный мне способ явного задания исключения
JavaScript
1
/"[^exceptword]"/
удалит из поиска все слова, имеющие хотя бы одну букву из набора. А вот как исключить слово?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.06.2011, 04:14
Ответы с готовыми решениями:

RegExp. Как исключить из строки все символы, не являющиеся цифрами?
Ну вот и вопрос весь....

Регулярки исключить слово
Здвствуйте как с помощью регулярок можно вытящить только те значеня которые не содержат строку qwerty? Как она должна выглядеть? ...

Исключить слово в ссылке
Всем привет. $str = $article; $tags = array('h1','h2','h3','h4','h5','h6'); $word = 'topic'; $word2 = 'Замена'; ...

14
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
16.06.2011, 15:24
Негативное заглядывание вперед (?!...) . Заглядывая врепед, мы остаёмся на прежнем месте. Позитивное заглядывание вперед (?=...) . В англоязычной литературе Lookahead Assertion.
JavaScript
1
/("(?!exceptword")[^"]*")/g
Кавычка, но только если дальше не следует <exceptword">, затем после этой кавычки любые символы, кроме кавычки, и закрывающая кавычка.

Не по теме:

Заглядывание назад (?<=...) и (?<!...) в JavaScript'е не предусмотрено, к сожалению.

2
 Аватар для Alex_Gur
47 / 47 / 6
Регистрация: 28.04.2015
Сообщений: 160
Записей в блоге: 4
19.09.2015, 11:47
А можно ли исключить из поиска несколько различных слов?
Например, exceptword и исключение.
1
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
20.09.2015, 10:44
Alex_Gur,
JavaScript
1
/("(?!(?:exceptword|исключение)")[^"]*")/g
или можно проще, но вот я не уверен в работоспособности кода ниже
JavaScript
1
/("(?!exceptword"|исключение")[^"]*")/g
1
 Аватар для Alex_Gur
47 / 47 / 6
Регистрация: 28.04.2015
Сообщений: 160
Записей в блоге: 4
20.09.2015, 22:04
Большое спасибо!
Проверил на сервисе https://regex101.com/. Оба варианта отлично работают!
0
0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 9
03.06.2019, 00:02
Извиняюсь за воскрешение темы, но бьюсь о невидимую стену очень долго, и выхода найти не могу. Перепробовал уже массу комбинаций с этими negative/positive lookahead, но Гордиев Узел не развязывается. Помогите, пожалуйста!

Есть, например, кусок текста:
Code
1
2
3
4
5
6
<tr>
    <td><p>Что-то 1</p></td>
    <td><p>Что-то 2</p></td>
    <td><p style="какой-то стиль"><span style="тоже какая-то ерунда">Что-то 3</span></p><p style="что-нибудь">что-то 4</p></td>
    <td><p><b>Что-то 5</b> и что-то 6, <p>при этом что-то 7 с ошибкой</p></p><p>что-то 8</p></td>
</tr>
Нужно выдернуть все <td></td>, внутри которых только правильные одиночные <p>...</p>, т.е. подходят первый и второй td, в третьем же два параграфа, а в четвёртом три параграфа и ещё и явная ошибка (двойное закрытие параграфа, второй параграф открывается без закрытия первого - это допустимо...).
Все перебираемые варианты, естественно, не сохранял, их слишком много... но из последнего что открыл и мозг больше не желает слышать, что я от него хочу - это (?:<td><p.*?>(?!(?:<p|<\/p)).*<\/p><\/td>)
Регексп сокращён до минимума, на самом деле в нём ещё проверки на \n? * и пр. пр. пр., но в данном случае самое упрощённое что может быть, лишь бы заставить работать как надо.
Подскажите, пожалуйста, как победить? Спасибо.
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
04.06.2019, 19:01
isolator, https://regex101.com/r/x6cAI5/1
Code
1
<td><p[^>]*>(?:(?!<\/?p).)*<\/p><\/td>
2
0 / 0 / 0
Регистрация: 02.10.2014
Сообщений: 9
04.06.2019, 21:22
Emilien, фантастика! Я был в полушаге от решения! Спасибо тебе огромное! А я ведь в какой-то момент думал, что самая основная проблема именно в жадном/нежадном захвате, где-то там зарылась собака... Совсем чуть тюнинга, и такой результат А я не дотянул... Эээх.
Надеюсь ещё кому-то обязательно поможет! Таких решений не встречал.
Премного Благодарю!
0
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 4
26.10.2019, 16:11
Здравствуйте!
Может и мне кто-нибудь поможет с регулярным выражением? Уже 2 дня безрезультатно бьюсь.
Мне нужно в HTML-коде выделить ссылку на картинку, которая может быть с расширением: .png или .jpg
Нужно чтобы исключались ссылки обёрнутые в теги: [IMG] и [/IMG]
Меня хватило только на такой запрос:
Code
1
[^\[IMG\]http[\S]*((\.pn+)|(\.jp+))[^[\/IMG]
Вот часть страницы, на которой я проверяю:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<br />
<span style="font-size: 9px;">#2470815 RobinB...</span>
</div>
<div class="col-lg-11">
<time style="float: right; font-size: 10px;">2019-10-24 16:33:55</time>
<br />
Я сделал скриншот.<br />we
ывыфвhttps://a.сайт.ру/a27/19r10/393r/7762f29dfac3d8.jpg</div>
</div>
https://a.сайт.ру/a27/1910/kgfdfiisd39/7762f29ds8.png </div>
</div>
<div class="row">
<h4 style="margin-top:20px;">Добавить новый текст</h4>
<br />
[URL=http://www.сайт.ру][IMG]https://b.сайт.ру/b18/191re50/b6/e58569d80fa3af.png[/IMG][/URL] </div>
</div>
Тут должно выделиться две ссылки: "https://a.сайт.ру/a27/19r10/393r/7762f29dfac3d8.jpg" и "https://a.сайт.ру/a27/1910/kgfdfiisd39/7762f29ds8.png"
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
26.10.2019, 17:21
Цитата Сообщение от DemonXT Посмотреть сообщение
Мне нужно в HTML-коде выделить ссылку на картинку, которая может быть с расширением: .png или .jpg
Нужно чтобы исключались ссылки обёрнутые в теги: [IMG] и [/IMG]
Code
1
https?:\/\/[^\s\[\]]+\.(jpg|png)(?!\[\/IMG)
1
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 4
26.10.2019, 18:28
Цитата Сообщение от Emilien Посмотреть сообщение
Код
https?:\/\/[^\s\[\]]+\.(jpg|png)(?!\[\/IMG)
Спасибо Вам большое. Ваш вариант рабочий, но мне не совсем подходит.
Для работы с регулярными выражениями я вынужден использовать этот модуль: https://regex.sorokin.engineer... demos.html Мне нужно, чтобы в нём сработала выборка, тогда и у меня в программе сработает.
Там где-то есть демка, на которой я тестирую выражения, но сейчас там её не могу найти. Поэтому прикрепил в сообщению. Проверка РВ.zip
В этой демке вылетает ошибка последнее условие, которое исключает тег: "IMG": https://yadi.sk/i/0uR_N1ffWyqt-g
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
26.10.2019, 19:52
Цитата Сообщение от DemonXT Посмотреть сообщение
Для работы с регулярными выражениями я вынужден использовать этот модуль: https://regex.sorokin.engineer... demos.html Мне нужно, чтобы в нём сработала выборка, тогда и у меня в программе сработает.
Заглядывание вперед (?=...) (?!...) не реализовано в TRegExpr https://regex.sorokin.engineer... #lookahead
Вместо (?!\[/IMG) придётся использовать что-то такое ($|[^\[]|\[([^/]|/[^I][^M]))
Code
1
(https?://[^\s\[\]]+\.(jpg|png))($|[^\[]|\[([^/]|/[^I][^M]))
0
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 4
26.10.2019, 20:53
Цитата Сообщение от Emilien Посмотреть сообщение
(https?://[^\s\[\]]+\.(jpg|png))($|[^\[]|\[([^/]|/[^I][^M]))
При такой реализации ничего не находится.
0
1137 / 685 / 412
Регистрация: 07.11.2015
Сообщений: 1,102
27.10.2019, 00:29
Цитата Сообщение от DemonXT Посмотреть сообщение
При такой реализации ничего не находится.
В каком тексте ищете совпадения и нет ли лишних пробелов по краям регулярки.
Миниатюры
RegExp исключить слово  
0
0 / 0 / 0
Регистрация: 09.02.2019
Сообщений: 4
27.10.2019, 13:07
Цитата Сообщение от Emilien Посмотреть сообщение
В каком тексте ищете совпадения и нет ли лишних пробелов по краям регулярки.
Вы правы. У меня в тексте были пробелы поэтому и не искал. Спасибо за вашу помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.10.2019, 13:07
Помогаю со студенческими работами здесь

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

Исключить из файла последнее слово каждой строки
Создать текстовый файл F, строки которого содержат слова. Исключить из файла последнее слово каждой строки. Результат поместить в файл G.-...

В произвольной строке исключить первое и последнее слово
В произвольной строке исключить первое и последнее слово, с помощью макросов visual basic

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

С клавиатуры ввести произвольное предложение и исключить из него предпоследнее слово
С клавиатуры ввести произвольное предложение и исключить из него предпоследнее слово, предвратительно напечатанное это слово.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru