Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: RegExp
Войти
Регистрация
Восстановить пароль
 
kmvcf
0 / 0 / 2
Регистрация: 10.03.2018
Сообщений: 26
#1

Регулярные выражения - найти все кроме слова

10.03.2018, 01:58. Просмотров 464. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Помогите кто может. Уже сломал всю голову.

Есть регулярное выражение.
(?<=<tr>\s*?<td\ class(.|\n)*?>\s*?<div(.|\n)*?>)Тест(?=<(.|\n)*?<\/td>\s*?<\/tr>)

Данное выражение находит слово Тест.
Между шаблонами есть и другие слова, например Тест2 и Тест3.
Как найти все совпадения но исключить совпадения со словом Тест? Найти совпадения только со словом Тест2 и Тест3.
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2018, 01:58
Ответы с готовыми решениями:

Регулярные выражения. Выделить только цифры кроме букв и (_) до и после
Здравствуйте! Подскажите, пожалуйста, как правильно составить регулярное...

Регулярные выражения: удалить из файла все строки, начинающиеся с символа "-" и все переносы строк
как удалить из файла все строки, начинающиеся с символа &quot;-&quot; и все переносы...

Регулярные выражения, найти и переименовать нужные строки
Всем добрый день! Целый день уже вожусь с регуляркой и ни как не могу выделить...

Регулярные выражения - ?<=
Добрый день! Пишу функцию, которая выделяет смесь раскладок в слове ...

Регулярные выражения
Пользователь может зарегестрироваться на 3-х сайтах: mail.ru, google.ru, ...

5
Emilien
509 / 412 / 241
Регистрация: 07.11.2015
Сообщений: 667
10.03.2018, 02:46 #2
Вопрос задан в разделе JavaScript, но судя по (?<= ) регулярка явно под другой диалект.
Цитата Сообщение от kmvcf Посмотреть сообщение
Найти совпадения только со словом Тест2 и Тест3.
Тест[23]
0
kmvcf
0 / 0 / 2
Регистрация: 10.03.2018
Сообщений: 26
10.03.2018, 10:17  [ТС] #3
Текст может содержать не только слова тест с номерами, но и другие слова. Как исключить слово из поиска?

Добавлено через 8 минут
Можно и так:
<tr>\s*?<td\ class(.|\n)*?>\s*?<div(.|\n)*?>Тест<(.|\n)*?<\/td>\s*?<\/tr>
0
Emilien
509 / 412 / 241
Регистрация: 07.11.2015
Сообщений: 667
10.03.2018, 16:47 #4
<tr>\s*<td\ class[^>]*>\s*<div[^>]*>(?!Тест<)[^<]+
0
kmvcf
0 / 0 / 2
Регистрация: 10.03.2018
Сообщений: 26
10.03.2018, 21:56  [ТС] #5
Супер.
Спасибо огромное, все работает.
0
kmvcf
0 / 0 / 2
Регистрация: 10.03.2018
Сообщений: 26
13.03.2018, 13:57  [ТС] #6
Цитата Сообщение от Emilien Посмотреть сообщение
<tr>\s*<td\ class[^>]*>\s*<div[^>]*>(?!Тест<)[^<]+
Могли бы еще объяснить правильно ли я понял как в данном случае работает регулярное выражение?

Допустим нашел совпадения

<tr>\s*<td\ class[^>]*>\s*<div[^>]*> дошел до знака ">"

дальше как я понял идет негативный просмотр вперед, т.е. с отрицанием (?!Тест<) - т.е. этого "Тест<" быть не должно. Если этого нет то дальше должен быть хотя бы один знак кроме "<". Потом идет знак "<".

Я правильно понял данное регулярное выражение?
0
13.03.2018, 13:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2018, 13:57

Регулярные выражения
Ох видимо никогда я не разберусь с регулярками, мозг отказывается их...

регулярные выражения (РВ)
сайт для парсинга, не могу разобраться с регулярными выражениями вот...

Регулярные выражения
Помогите тупому нубу новичку. var text = &quot;echo 123&quot;; var keywords =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru