Бесплатно напишу регулярное выражение. Часть 2.

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
ну ты/вы БАШКА вообще. спасибо друг))
я обрабатывал двумя регулярками. первая 9.* и второй брал первые восемь цифр .{0,8} В копилку положил. ещё раз спасибо!!
 
  • Спасибо
Реакции: konfuciy
Привет! Помогите плиз с регуляркой.
Есть текст: <p>Первое предложение. Второе предложение. Третье предложение.</p>
(?<=<p>)[\w\W]*?\.
берет первое предложение все ок, а как взять первые два предложения?
Спасибо.
 
Привет! Помогите плиз с регуляркой.
Есть текст: <p>Первое предложение. Второе предложение. Третье предложение.</p>
(?<=<p>)[\w\W]*?\.
берет первое предложение все ок, а как взять первые два предложения?
Спасибо.
Код:
Развернуть Свернуть Копировать
(?<=<p>)[\w\W]*?\..*?\.
 
  • Спасибо
Реакции: Severip
Спасибо, а то у меня хвост длиннее получился раза в два :)
 
В свежем конструкторе регулярных выражений увидел возможность делать групповую обработку, похоже за счет этого можно серьезно ускорить парсинг данных, парсить одним блоком сразу весь контент, но не могу понять, как адаптировать мой код.

Есть масса блоков в виде:
1 блок - (?<=> Category: </div>\r\n.*tib"> )[\w\W]*?(?= </div>)
2 блок - (?<=Sub Category: </div>\r\n.*tib"> )[\w\W]*?(?= </div>)

код документа:
<div class="col-xs-4 tib dark-title"> Category: </div>
<div class="col-xs-8 tib"> House </div>
тут много мусора, который не нужен
<div class="col-xs-4 tib dark-title"> Sub Category: </div>
<div class="col-xs-8 tib"> for Sale </div>

Каким образом можно из:
1 блок - (?<=> Category: </div>\r\n.*tib"> )[\w\W]*?(?= </div>)
2 блок - (?<=Sub Category: </div>\r\n.*tib"> )[\w\W]*?(?= </div>)

Можно сделать 1 регулярное выражение, что бы на выходе было 2 столбца данных для последующей записи в таблицу?
 
Здравствуйте! Поможете составить регулярное выражения, на поиск разных вариаций email? Да, на форуме куча регулярок для поиска email адресов, но нет ни одной супер универсальной, которая бы находила все без ошибок. В гугле кстати тоже не нашел...

Вот текст для тестирования:

"текст для тестирования akkord@mail.ru текст
<span>info@makipa-bar.com</span>
mailto:'kupi.slona@info.ru'
kupi-slona@mail-yandex.com конец текста"

Нужно найти 4 варианта email

Перепробовал много вариантов и с каждой регуляркой были проблемы:)
 
Здравствуйте! Поможете составить регулярное выражения, на поиск разных вариаций email? Да, на форуме куча регулярок для поиска email адресов, но нет ни одной супер универсальной, которая бы находила все без ошибок. В гугле кстати тоже не нашел...

Вот текст для тестирования:

"текст для тестирования akkord@mail.ru текст
<span>info@makipa-bar.com</span>
mailto:'kupi.slona@info.ru'
kupi-slona@mail-yandex.com конец текста"

Нужно найти 4 варианта email

Перепробовал много вариантов и с каждой регуляркой были проблемы:-)
например, так [\w\d\-\.]+@[\w\d\-]+\.\w+
 
например, так [\w\d\-\.]+@[\w\d\-]+\.\w+
А вот ваша регулярка, вроде как справляется))) Но я ее еще помучаю, может еще дырки найду, но надеюсь, что их не будет)) А вообще очень помогли, спасибо)
 
Если вы про эту регулярку [\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} из указанной вами темы, то она со своей задачей не справляется:-)

Приведите пример, где эта регулярка не справляется?
 
Здравствуйте! Поможете составить регулярное выражения, на поиск разных вариаций email? Да, на форуме куча регулярок для поиска email адресов, но нет ни одной супер универсальной, которая бы находила все без ошибок. В гугле кстати тоже не нашел...

Вот текст для тестирования:

"текст для тестирования akkord@mail.ru текст
<span>info@makipa-bar.com</span>
mailto:'kupi.slona@info.ru'
kupi-slona@mail-yandex.com конец текста"

Нужно найти 4 варианта email

Перепробовал много вариантов и с каждой регуляркой были проблемы:-)
выбирай http://regexlib.com/Search.aspx?k=email
 
  • Спасибо
Реакции: Аркадий
Всем привет.

Помогите с регуляркой, пожалуйста.

Есть список (пример ниже).
Ищем в нем совпадение с текстом из переменной А. Если нашли - берем всю строку в переменную Б.

Обычно искал регуляркой: {-Variable.А}.*

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

Заранее благодарю!

п.с. статьи читал, что-то не помогают..

Пример переменной А:
Крупная кухонная техника/Газовые плиты (50-55 см)

Пример списка:
Элитная техника/Элитная встраиваемая техника/Элитные встраиваемые холодильники;Холодильники
Кухонная техника/Блендеры;Блендеры
Крупная кухонная техника/Газовые плиты (50-55 см);Плиты
 
Всем привет.

Помогите с регуляркой, пожалуйста.

Есть список (пример ниже).
Ищем в нем совпадение с текстом из переменной А. Если нашли - берем всю строку в переменную Б.

Обычно искал регуляркой: {-Variable.А}.*

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

Заранее благодарю!

п.с. статьи читал, что-то не помогают..

Пример переменной А:
Крупная кухонная техника/Газовые плиты (50-55 см)

Пример списка:
Элитная техника/Элитная встраиваемая техника/Элитные встраиваемые холодильники;Холодильники
Кухонная техника/Блендеры;Блендеры
Крупная кухонная техника/Газовые плиты (50-55 см);Плиты

попробуйте так
1. Обработка текста/Escape строки/результат в переменную VAR - туда вставляете вашу переменную А
2. Список сохраняете в переменную SPIS
3. Обработка текста/Regex/ текст - SPIS - выражение для регекса - .*{-Variable.VAR-}.* - результат в переменную RESULT
 
  • Спасибо
Реакции: Konrod_m
Не могу решить вот такую задачу, если ее вообще можно решить при помощи регулярного выражения. Есть DOM дерево, где находятся 2 email адреса:

Пример:
"текст<span class='mail'>Rating@mail.ru</span>Тут какой нибудь текст<div id='main-mail'>test@mail.ru</div>опять текст"

Возможно ли, чтобы регулярное выражение пропускало первый email и находило второй?

Дополню: нужно, чтобы регулярка пропускала email адреса "Raiting@mail.ru" именно такие (без учета регистра) Даже если "Raiting@mail.ru" находится на втором месте.
HTML разметка может быть любой (приведена для примера). Т.е. решение должно быть универсальное.

Пример:
"текст<span class='mail'>test@mail.ru</span>Тут какой нибудь текст<div id='main-mail'>Rating@mail.ru</div>опять текст"
 
Последнее редактирование:

Пост выше немного дополнил, а то ни совсем точно описал задачу. Т.е. нужно, чтобы email адрес "Rating@mail.ru" пропускался и находился обычный email адрес пользователя. При этом "Raiting@mail.ru" может находится или первым или вторым
 
Пост выше немного дополнил, а то ни совсем точно описал задачу. Т.е. нужно, чтобы email адрес "Rating@mail.ru" пропускался и находился обычный email адрес пользователя. При этом "Raiting@mail.ru" может находится или первым или вторым
Код:
Развернуть Свернуть Копировать
(?<=main-mail'>).*?(?=<)
 
Код:
Развернуть Свернуть Копировать
(?<=main-mail'>).*?(?=<)

Ну как бы задачу решили) Только решение не универсальное)) Еще раз пост дополню) HTML разметка может быть любой, этого я не уточнил, моя вина)
 
Ну как бы задачу решили) Только решение не универсальное)) Еще раз пост дополню) HTML разметка может быть любой, этого я не уточнил, моя вина)
можно так, например:
1. взять все мэйлы в список
2. удалить из списка все мэйлы по маске raiting\@mail\.ru
3. из оставшегося списка взять первую строку
 
можно так, например:
1. взять все мэйлы в список
2. удалить из списка все мэйлы по маске raiting\@mail\.ru
3. из оставшегося списка взять первую строку

Тоже уже думал о таком решении:) Хотелось бы еще варианты, если они есть. Я так понял, что в регулярном выражении нельзя указать: искать email, кроме Rating@mail.ru ?
 
Тоже уже думал о таком решении:-) Хотелось бы еще варианты, если они есть. Я так понял, что в регулярном выражении нельзя указать: искать email, кроме Rating@mail.ru ?
отчего ж нельзя, можно. просто в ЗП регулярки немного другие, чем в ноутпад++, а я делал только в ноутпаде. сейчас гляну, если особых отличий нет, то может получится

не очень изящно, но на вашем примере работает

(?<=>)((?!Rating|rating|<|>|=|\-|"|').)*?@[\w\d\-\.]+?\.[\w]+
 
Последнее редактирование:
  • Спасибо
Реакции: Аркадий
отчего ж нельзя, можно. просто в ЗП регулярки немного другие, чем в ноутпад++, а я делал только в ноутпаде. сейчас гляну, если особых отличий нет, то может получится

не очень изящно, но на вашем примере работает

(?<=>)((?!Rating|rating|<|>|=|\-|"|').)*?@[\w\d\-\.]+?\.[\w]+

Спасибо)) попробую разобрать ваш шаблон)
 
вот так можно улучшить
(?<=>)((?!Rating|rating)[\w\-\.])*?@[\w\d\-\.]+?\.[\w]+

Скажите, а восклицательный знак какую роль в регулярке играет? Читал книгу по регулярки и что то там не было восклицательного метасимвола)))
 

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