Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript: RegExp

Войти
Регистрация
Восстановить пароль
 
kmvcf
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 16
#1

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

10.03.2018, 01:58. Просмотров 323. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Регулярные выражения - найти все кроме слова (JavaScript):

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

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

Регулярные выражения - JavaScript
Добрый день! Не могу понять логики данных примеров, буду признателен если объясните. console.log(&quot;hi&quot;.match(/\s*/g)); // Если...

Регулярные выражения - ?<= - JavaScript
Добрый день! Пишу функцию, которая выделяет смесь раскладок в слове jQuery.fn.lightLay = function() { // Со второй...

Регулярные выражения - JavaScript
Пользователь может зарегестрироваться на 3-х сайтах: mail.ru, google.ru, yandex.ru. До позиции @ e-mail может содержать 3 символа, затем...

Регулярные выражения - JavaScript
Как с помощью регулярного выражения найти 20 символов? В символах есть только большие английские буквы и цифры.

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

Добавлено через 8 минут
Можно и так:
<tr>\s*?<td\ class(.|\n)*?>\s*?<div(.|\n)*?>Тест<(.|\n)*?<\/td>\s*?<\/tr>
0
Emilien
496 / 400 / 201
Регистрация: 07.11.2015
Сообщений: 640
10.03.2018, 16:47 #4
<tr>\s*<td\ class[^>]*>\s*<div[^>]*>(?!Тест<)[^<]+
0
kmvcf
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 16
10.03.2018, 21:56  [ТС] #5
Супер.
Спасибо огромное, все работает.
0
kmvcf
0 / 0 / 0
Регистрация: 10.03.2018
Сообщений: 16
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
Привет! Вот еще темы с ответами:

Регулярные выражения - JavaScript
Не работают регулярные выражения, ничего не выдаёт вообще на экран, верно и неверно не выдаёт. &lt;html&gt; &lt;head&gt; &lt;script...

Регулярные выражения - JavaScript
с помощью регулярных выражений надо вытащить из исходного кода название продукта. Это то что стоит в ковычках после слова title (т.е....

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

Регулярные выражения - JavaScript
Ох видимо никогда я не разберусь с регулярками, мозг отказывается их воспринимать :( Нужно проверить соответствие строки на 1)...


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

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

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