Регулярные выражения на все случаи жизни

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
После парсинга еще раз пройтись по тексту экшеном операции с текстом - замена
и заменить все теги <*.?> на пустоту
 

Vega$

Client
Регистрация
18.09.2015
Сообщения
9
Благодарностей
0
Баллы
1
После парсинга еще раз пройтись по тексту экшеном операции с текстом - замена
и заменить все теги <*.?> на пустоту
Но тогда мне нужно строку из списка положить в переменную, убрать тег и записать в новый список. А можно как то без лишних экшенов, а то скорость мне кажется упадет в разы. Можно ли со списком уже готовым как то операцию провести, или в момент взятия DOM?
 

antiwindows

Новичок
Регистрация
02.10.2015
Сообщения
3
Благодарностей
0
Баллы
1
Извиняюсь, что-то я не то сделал. Админы, если не трудно сотрите предидущий пост.

А теперь мой вопрос

С помощью регулярных выражений надо вытащить из исходного кода (в h3-контейнере):
<h3 class="r"><a class="pstl" data-what="1" href="http://www.google.de/aclk?sa=l&ai=C-9oQygENVpujKqGXzAOfn... jsaction="spop.c">10 x Leitz Stehsammler 24230095 DIN A476mm Hartpappe RC schwarz</a></h3>

ссылку на продукт, которая стоит после adurl:
http://bueropartner24.de/Ordnen-Registrieren/Schreibtischorg...

и название продукта, которое стоит после jsaction="spop.c">:
10 x Leitz Stehsammler 24230095 DIN A476mm Hartpappe RC schwarz

Эта регулярка вроде должна работать, но не тут-то было:
<h3 class="r">\s*<a class="pstl".+?&amp;adurl=(.+?)(?:&amp;|")[^>]*>(.+?)<\/a>


Это последняя регулярка для того что бы закончить проект! Остальное уже всё сделано! ПОМОГИТЕЕЕЕ кто может!!!
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Извиняюсь, что-то я не то сделал. Админы, если не трудно сотрите предидущий пост.

А теперь мой вопрос

С помощью регулярных выражений надо вытащить из исходного кода (в h3-контейнере):
<h3 class="r"><a class="pstl" data-what="1" href="http://www.google.de/aclk?sa=l&ai=C-9oQygENVpujKqGXzAOfn... jsaction="spop.c">10 x Leitz Stehsammler 24230095 DIN A476mm Hartpappe RC schwarz</a></h3>

ссылку на продукт, которая стоит после adurl:
http://bueropartner24.de/Ordnen-Registrieren/Schreibtischorg...

и название продукта, которое стоит после jsaction="spop.c">:
10 x Leitz Stehsammler 24230095 DIN A476mm Hartpappe RC schwarz

Эта регулярка вроде должна работать, но не тут-то было:
<h3 class="r">\s*<a class="pstl".+?&amp;adurl=(.+?)(?:&amp;|")[^>]*>(.+?)<\/a>


Это последняя регулярка для того что бы закончить проект! Остальное уже всё сделано! ПОМОГИТЕЕЕЕ кто может!!!
Это нужно делать в 2 шага, собирая отдельно каждые данные в свою переменную.
 

antiwindows

Новичок
Регистрация
02.10.2015
Сообщения
3
Благодарностей
0
Баллы
1
можно и в один шаг (реализуется в cmd):

var googleTitelLink = new RegExp('<h3 class="r">\s*<a class="pstl".+?&amp;adurl=(.+?)(?:&amp;|")[^>]*>(.+?)<\/a>','g');
var match = googleLinkTitel.exec(googleSite);

writeln('Google Titel: ' + match[2]);
writeln('Google Link: http://www.google.de/' + match[1]);
 

antiwindows

Новичок
Регистрация
02.10.2015
Сообщения
3
Благодарностей
0
Баллы
1
точнее можно было бы, если бы регулярка работала )
 

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
Подскажите, пожалуйста, как регуляркой взять из строки только цифры, без букв и прочих сиволов? Пример:
Код:
2<span class="num_delim"> </span>041<span class="num_delim"> </span>219 подписч
То есть, чтобы на выходе получилось 2041219
 
  • Спасибо
Реакции: LightWood

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
не |d+ а \d+ в список => объеденить элементы, разделитель свой, в переменную
 
  • Спасибо
Реакции: Belwin

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Подскажите, пожалуйста, как регуляркой взять из строки только цифры, без букв и прочих сиволов? Пример:
Код:
2<span class="num_delim"> </span>041<span class="num_delim"> </span>219 подписч
То есть, чтобы на выходе получилось 2041219
Тут проще не взять все цифры, а удалить всё, что не является цифрой.
Обработка текста - Замена - Что менять \D - На что менять - оставляете пустым - Тип замены regex. В результатах будут все цифри из строки.
 
  • Спасибо
Реакции: one и Belwin

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
Последнее редактирование:

Belwin

Client
Регистрация
30.06.2015
Сообщения
125
Благодарностей
13
Баллы
18
Подскажите, пожалуйста как должна выглядеть регулярка, которая бы из переменной состоящей из одной строки, брала бы 11 символов находящихся перед последним знаком равно.
Пример:
из этой строки s39d90efh35r3rijv038535=skh349 нужно взять 3rijv038535
При этом знак = в строке может встречаться два раза, а необходимо брать текст перед самым последним. Как в этом примере:
b81husd4-394=s408bdj7mk043sd094=sd0fg нужно взять 7mk043sd094
Изначально неизвестно сколько будет равно, один или два.
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
Подскажите, пожалуйста как должна выглядеть регулярка, которая бы из переменной состоящей из одной строки, брала бы 11 символов находящихся перед последним знаком равно.
Пример:
из этой строки s39d90efh35r3rijv038535=skh349 нужно взять 3rijv038535
При этом знак = в строке может встречаться два раза, а необходимо брать текст перед самым последним. Как в этом примере:
b81husd4-394=s408bdj7mk043sd094=sd0fg нужно взять 7mk043sd094
Изначально неизвестно сколько будет равно, один или два.
если равно всё время меняется в колличестве но значение это последнее, возьми сначала через регулярку .*?(?==) раздели и забери последнее значение, ну а потом с полученной строки возьми 11цифр с конца
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
Помогите
нужно удалить все кусочки кода где встречаются слова или символы не входящие в этот список

а-я А-Я a-z A-Z 0-9 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~

вот пример:
https://pp.vk.me/c629408/v629408176/2e276/nS2dJduVHKQ.jpg
нужно чтобы получилось так:
https://pp.vk.me/c622927/v622927194/332f2/lBJOtZsP3P8.jpg


Код:
[^а-яА-ЯёЁa-zA-Z0-9!"\#\$%&'\(\)\*\+,-\./:;<=>\?@\[\\]\^_`\{\|}~]
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
https://pp.vk.me/c624831/v624831411/4d089/8Q2xuZqjlrM.jpg
он испортил ссылку
C:\Users\123\Desktop\1.6.8\avitobot.exe
https://pp.vk.me/c624831/v624831411/4d07f/QDG945skrhY.jpg
как сделать так чтобы эти данные не испортились?
Попробовал сейчас - ничего эта регулярка не находит в Вашем пути. Как он её испортил?
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1
что же я делаю не правильно?
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Тоже не понимаю что и где испортилось
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1
https://pp.vk.me/c624831/v624831411/4d089/8Q2xuZqjlrM.jpg
он испортил ссылку
C:\Users\123\Desktop\1.6.8\avitobot.exe

было так C:\Users\123\Desktop\1.6.8\avitobot.exe а стало так C: Users 123 Desktop 1.6.8 avitobot.exe

нужно чтобы знак \ не удалялся
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1
но регулярное выражение одинаковое а в редакторе
notepad++
и
ProjectMaker for ZennoPoster v5.9.3.1
работают по разному
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
но регулярное выражение одинаковое а в редакторе
notepad++
и
ProjectMaker for ZennoPoster v5.9.3.1
работают по разному
Разные движки регулярных выражений, есть отличительные особенности
 

AvitoBot

Новичок
Регистрация
27.06.2015
Сообщения
13
Благодарностей
0
Баллы
1
Это понятно. Но задача стоит отсортировать именно в нотепаде
 

CSS

Client
Регистрация
22.05.2010
Сообщения
1 327
Благодарностей
663
Баллы
113
Это понятно. Но задача стоит отсортировать именно в нотепаде
Выложите исходный текст для проверки, используемую регулярку, и опишите чего в ней не хватает чтобы всё в одном посте было, так выше вероятность что вам помогут
 

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