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

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
А в зенке парсите DOM модель или код страницы?
Как вариант сделать сохранение кода страницы в TXT файл из переменной и посмотреть что не так.
 
А в зенке парсите DOM модель или код страницы?
Как вариант сделать сохранение кода страницы в TXT файл из переменной и посмотреть что не так.

Посмотрел как вы подсказали и действительно в коде по другому ссылки прописаны, подправил регулярку, теперь все норм парсит. Спасибо за наводку!
 
Подскажите про замену групп. Есть тексты, хочу в каждом тексте одно рандомное слово заменять этим же словом но уже с ссылкой. Делал через кубик замены, в поиске (\s\w{4,20}) меняю на <a href="ссылка">$1</a>, в итоге зенно меняет буквально на этот текст, не заменяя $1 на группу. Через сниппет C# замена работает, но я не знаю как через C# сделать одну рандомную замену, и он меняет все вхождения.
 
Как в одном экшн заменить пустые строки? в тестере показывает Строка1\r\n\r\nСтрока2 При замене нифига не срабатывает в regexp
upload_2019-2-16_13-27-14.png
 
@doc Здравствуйте, помогите пожалуйста с регуляркой.
https://test.com
http://sub.test.com/postname/
http://www.test.com/article/post/

Как оставить только имена доменов, если есть сабдомен, то его так же оставить. Протокол оставлять необязательно.
Чтобы на выходе оставить только
test.com
sub.test.com
www.test.com
 
как получить выделенное красным?
путь к файлу рандомный
/main_foto/KOS8YA4QZX3aTiIkX6jdcGXj.jpg
 
подскажите как удалить в строке последний пароль VsEoz9BEPEYUL78XfEPQ2R2

users sveruta05:CL:CKS5FlVI0nXzcHojPTW kizner2:CL:VsEoz9BEPEYUL78XfEPQ2R2
 
как составить регулярку, взять содержимое тега в котором отсутствуют любые теги. Например тег <a>:
<a>text<span>1</span></a>
<a>
<span>1</span>text</a>
<a>текс</a>
но при этом содержимое может и не быть вовсе.
<a></a>
 
Последнее редактирование:
как составить регулярку, взять содержимое тега в котором отсутствуют любые теги. Например тег <a>:
<a>text<span>1</span></a>
<a>
<span>1</span>text</a>
<a>текс</a>
но при этом содержимое может и не быть вовсе.
<a></a>
Код:
Развернуть Свернуть Копировать
(?<=<(\w+)[^\<\>]*?>)[^\<\>]*?(?=< ?\/ ?(\1)>)

Или если нужен конкрентный тег <a>:
Код:
Развернуть Свернуть Копировать
(?<=<a[^\<\>]*?>)[^\<\>]*?(?=< ?\/ ?a>)
 
  • Спасибо
Реакции: inilim
Не одна не пашет :(
 
Тут под зенку тема, зачем на сервисе стороннем тестировать? Там сложные регулярки могут не сработать. Вот скрин что в зенке работает:
 

Вложения

  • Untitled-1.png
    Untitled-1.png
    17,7 KB · Просмотры: 9
  • Спасибо
Реакции: inilim

Код:
Развернуть Свернуть Копировать
(http|https)://.*?/

upload_2019-5-26_23-16-31.png
 
Приветствую! Помогите составить регулярку, чтобы обрезалась строка на точке или запятой и в строке после обрезки оставалось не более 250 символов.
 
Приветствую! Помогите составить регулярку, чтобы обрезалась строка на точке или запятой и в строке после обрезки оставалось не более 250 символов.

Код:
Развернуть Свернуть Копировать
[\w\W]{0,250}[,\.]

Обработка текста - Regex (Первое совпадение)
 

Вложения

  • upload_2019-5-27_13-54-56.png
    upload_2019-5-27_13-54-56.png
    69,6 KB · Просмотры: 8
  • Спасибо
Реакции: POLOZ
Всем привет.
Знатоки к вам вопрос.
Как разбить текст по предложениям (т.е. по точкам) если в тексте куча сокращений типа "г.", "км.", "мл.", "сек." и т.п.?
 
Всем привет.
Знатоки к вам вопрос.
Как разбить текст по предложениям (т.е. по точкам) если в тексте куча сокращений типа "г.", "км.", "мл.", "сек." и т.п.?
Вот отрывок моего говнокода из старенького моего шаблона конкурсного Быстрый парсер RU + ENG текстового контента на Get-запросах:
C#:
Развернуть Свернуть Копировать
// умно разбиваем длинные строки на предложение по наличию точки, + пробела и заглавной буквы после нее, + текста без точки недалеко перед ней:
regexTest = System.Text.RegularExpressions.Regex.Replace(regexTest, @"(?<=[^\!\.\?\r\n]{10,650})[\!\.\?]\ (?=[A-ZА-Я][^\.]{10,650})", ".\r\n", System.Text.RegularExpressions.RegexOptions.Multiline);
Там можно много интересных идей по обработке текста одолжить. Не все костыли там идеальные, но вроде рабочие.
 
  • Спасибо
Реакции: Сибиряк
Вот отрывок моего говнокода из старенького моего шаблона конкурсного Быстрый парсер RU + ENG текстового контента на Get-запросах:
C#:
Развернуть Свернуть Копировать
// умно разбиваем длинные строки на предложение по наличию точки, + пробела и заглавной буквы после нее, + текста без точки недалеко перед ней:
regexTest = System.Text.RegularExpressions.Regex.Replace(regexTest, @"(?<=[^\!\.\?\r\n]{10,650})[\!\.\?]\ (?=[A-ZА-Я][^\.]{10,650})", ".\r\n", System.Text.RegularExpressions.RegexOptions.Multiline);
Там можно много интересных идей по обработке текста одолжить. Не все костыли там идеальные, но вроде рабочие.
Парсер огонь!
Спасибо за код))
 
текст (83) текст (р.56);
нужно получить значение во вторых скобках
";" - после скобок всегда
 
текст (83) текст (р.56);
нужно получить значение во вторых скобках
";" - после скобок всегда
Регулярка:
Код:
Развернуть Свернуть Копировать
(?<=\().*?(?=\))
Берем второе совпадение.

upload_2019-8-19_14-8-17.png
 
первых скобок может не быть
Это можно кубиками алгоритмически обыграть.
Если по второму совпадению ничего не найдено (проверяем через IF),
то берем первое совпадение.
 
  • Спасибо
Реакции: Sanekk

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