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

  • Автор темы Автор темы LightWood
  • Дата начала Дата начала
Спасибо. В тестере регулярка отработала. А вот на практике что-то не работает. Посмотрел по отладке - исходный текст (равно как и DOM) парсится не в той кодировке. Думаю в этом причина. Сайт на cp-1251, а парсится скорее всего в utf-8. В итоге весь русский текст меняется на черные ромбики.

Не подскажете как решить проблему?

Попробуйте так:
рег.выр-|-номер совпадения-|-windows-1251
 
попробуйте UTF-8 указать вместо win-1251
 
Проблему решил. Спасибо daniiilneet :)

Почему-то при загрузке исходного кода страницы использовалась кодировка utf-8. Когда попробовал использовать DOM - все сразу заработало.
 
нужна помощь!
есть регулярка, она парсит строчки из текста, кол-во совпадений в макросе указываю -all-

проблема собственно в том, что нужно в полученному списку строк, к КАЖДОЙ строке данного массива дописать в начало некий известный текст.

помогите пожалста, чето сам допетрить не могу как в прожектмакере сделать, да попроще, чтоб не городить стопицот макросов
 
Помогите с регулярным выражением: нужно чтобы оно парсило слово Classic если такое имеется, но в тоже время не парсило это слово, если оно в составе другого слова (например NeoClassical).
[COLOR=#fafafa !important]

[/COLOR]​
small-logo.png
 
Для shcnaps: По-моему простое решение - брать 0 строку с удалением, и записывать ее же с нужным текстом в комплекте в тот же файл в конец. И запустить шаблон, состоящий из 1 макроса на повтор. Через минуту все будет готово (смотря сколько строк)

Для Porosenok регулярка
(?<=[^\w])Clas.*?sic(?=[^\w])
или
(?<=[^\w])Classic(?=[^\w])
 
спасибо, но почему-то ни первая ни вторая регулярка не выпарсивает слово Classic само по себе.
 
спасибо! вроде то что нужно
[COLOR=#fafafa !important]

[/COLOR]​
small-logo.png
 
Искал и не нашел, дайте ссылку на описание логики регулярных выражений.
 
не, мне это нужно в другом шаблоне применять, в результатах парсинга группа строк получается. не хочется цикл городить, но видать придется, раз невозможно одним макросом сделать
 
schnaps попробуй вот так: Возьми результат своего парсинга и замени через такую вот штуку:

{-RegExp.Replace-|-Тут результат парсинга-|-(^|\r\n).*?(?=[a-zA-Zа-яА-Я\d+])-|-{-String.Enter-}тут что надо добавить в начале-}
 
  • Спасибо
Реакции: schnaps
получается что мы заменяем перевод строки+след строчка на первод строки (макрос энтер)+то что нужно вставить+след строчка.
Занятно :) попробую, но сечас пока уже неактуально :)
но спасибо!
 
нужна помощь!
есть регулярка, она парсит строчки из текста, кол-во совпадений в макросе указываю -all-

проблема собственно в том, что нужно в полученному списку строк, к КАЖДОЙ строке данного массива дописать в начало некий известный текст.

помогите пожалста, чето сам допетрить не могу как в прожектмакере сделать, да попроще, чтоб не городить стопицот макросов

За основу можете взять вот этот шаблон на JS
 
скажите, а есть какая-нибудь универсальная регулярка чтоб удалять пустые бб-теги?
[COLOR=#fafafa !important]

[/COLOR]​
small-logo.png
 
ну допустим [ url = ] [ / url ] (без пробелов естественно)
Так то легко написать можно, именно под него, но вдруг есть какой универсальный регвыр который не только урл теги будет удалять
undefined​
 
ну допустим [ url = ] [ / url ] (без пробелов естественно)
Так то легко написать можно, именно под него, но вдруг есть какой универсальный регвыр который не только урл теги будет удалять
undefined​

PHP:
Развернуть Свернуть Копировать
\[.*\]\[.*?\]
 
подскажите регулярку: разделить текст на пассажи по 100 символов. можно ли?
 
подскажите регулярку: разделить текст на пассажи по 100 символов. можно ли?

Прогоните текст через макрос парсинга строки регулярными выражениями. Номер совпадения all а регулярка .{100}
 
  • Спасибо
Реакции: yourmind
Подскажите, как можно из файла с определенным количеством строк различной длины выпарсить только строки длиной в 10 символов?
 
Взять все строки из файла, в регулярное выражение вписать (?<=(\r|\n|^))[a-zA-Z\d+]{10}(?=(\r|\n|$)) такую регулярку. В результате будут все строки длиной 10 знаков.
 
  • Спасибо
Реакции: seomr
Строка прокси: (?<=proxy&host\=).*(?=&notes)
Строка IP: .*(?=&port\=)
Строка порта: (?<=\=).*
 
  • Спасибо
Реакции: Se0mashines
Как просто с ссылки - <a href="http://site.ru/sdfsdfsdf.html">sfsdfsdfsd</a> вырезать сам адрес http://site.ru/. Спасибо.
 
(?<=\<a href\=\")http:\/\/.*?\/
Вот так.
Оно оставляет теги <a>...</a>, можно и их убрать? И еще одно выражение в котором все тоже, но еще и убирает http://.
Я просто из ссылки http://site.ru/ убираю http:// этим рег. выражением - http:\/\/.*?, но получается вот так - site.ru/, как палочку убрать? :)
 

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