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

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
Приветствую!
В базе пользователей сайта нашел много пользователей с размноженными емейлами от гугла - по типу [email protected] [email protected] [email protected]
Нужна помощь в составлении регулярки которая выдернет все емейлы от gmail.com у которых до собаки стоит более одной точки.
Помогите плиз!
Код:
(?i)[a-z0-9-\._]+[\.][a-z0-9-\._]+@gmail\.com
 

Вложения

  • Спасибо
Реакции: Unipostmaster

Unipostmaster

Client
Регистрация
19.01.2014
Сообщения
20
Благодарностей
3
Баллы
3

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
  • Спасибо
Реакции: Unipostmaster
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Приветствую!
В базе пользователей сайта нашел много пользователей с размноженными емейлами от гугла - по типу [email protected] [email protected] [email protected]
Нужна помощь в составлении регулярки которая выдернет все емейлы от gmail.com у которых до собаки стоит более одной точки.
Помогите плиз!
Потестируйте
Код:
.*?\..*?\..*?@gmail\.com
http://skrinshoter.ru/s/080219/EiYG4LTf?a
 
Регистрация
10.01.2019
Сообщения
32
Благодарностей
11
Баллы
8
Приветствую!
В базе пользователей сайта нашел много пользователей с размноженными емейлами от гугла - по типу [email protected] [email protected] [email protected]
Нужна помощь в составлении регулярки которая выдернет все емейлы от gmail.com у которых до собаки стоит более одной точки.
Помогите плиз!
[a-z0-9].*\.[a-z0-9].*\..*@gmail\.com
 
  • Спасибо
Реакции: Unipostmaster

CmauJluk

Client
Регистрация
25.12.2017
Сообщения
287
Благодарностей
60
Баллы
28
Второй день сижу:dl:

Парсю текст естественно с кучей мусора, убираю его с помощью <.*?>, но остаются пробелы, пустые строки... Как не пробовал убрать не получается.. Выяснил что есть скрытые символы, но как это убрать не как не могу понять, может кто поможет что бы текст чистился без этой гадости{F92E9BF7-26A7-4078-B847-8AFB6ECA85CF}.png.jpg

Код:
        <p>5 лет 7 месяцев</p>
                    <div class="m-t-2">
                <div class="h5">Сварщик полуавтомат</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            ТВСЗ в Тихвине<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">2 года 6 месяцев, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Август 2016 - продолжаю работать</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сварка кузовов и рам грузовых железнодорожных вагонов 4 разряд</p>
            </div>
                    <div class="m-t-2">
                <div class="h5">Сварщик на полуавтоматических машинах</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            Техно-Крафт в Тольятти<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">3 года 1 месяц, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Ноябрь 2008 - Декабрь 2011</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сборка методом сварки станков для вакуумной формовки из подготовленных заранее заготовок из листового металла уголка и профильных труб также сварка глушителей легковых автомобилей и проверка их давлением. Имею опыт работы всеми видами электроинструмента и опыт изготовления любых метало-конструкций от слесари до сварки.
 

Вложения

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Второй день сижу:dl:

Парсю текст естественно с кучей мусора, убираю его с помощью <.*?>, но остаются пробелы, пустые строки... Как не пробовал убрать не получается.. Выяснил что есть скрытые символы, но как это убрать не как не могу понять, может кто поможет что бы текст чистился без этой гадостиПосмотреть вложение 36005

Код:
        <p>5 лет 7 месяцев</p>
                    <div class="m-t-2">
                <div class="h5">Сварщик полуавтомат</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            ТВСЗ в Тихвине<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">2 года 6 месяцев, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Август 2016 - продолжаю работать</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сварка кузовов и рам грузовых железнодорожных вагонов 4 разряд</p>
            </div>
                    <div class="m-t-2">
                <div class="h5">Сварщик на полуавтоматических машинах</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            Техно-Крафт в Тольятти<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">3 года 1 месяц, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Ноябрь 2008 - Декабрь 2011</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сборка методом сварки станков для вакуумной формовки из подготовленных заранее заготовок из листового металла уголка и профильных труб также сварка глушителей легковых автомобилей и проверка их давлением. Имею опыт работы всеми видами электроинструмента и опыт изготовления любых метало-конструкций от слесари до сварки.
впихнуть в одну из последних регулярок все разрешенные символы и с её помощью удалить всё остальное
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Второй день сижу:dl:

Парсю текст естественно с кучей мусора, убираю его с помощью <.*?>, но остаются пробелы, пустые строки... Как не пробовал убрать не получается.. Выяснил что есть скрытые символы, но как это убрать не как не могу понять, может кто поможет что бы текст чистился без этой гадостиПосмотреть вложение 36005

Код:
        <p>5 лет 7 месяцев</p>
                    <div class="m-t-2">
                <div class="h5">Сварщик полуавтомат</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            ТВСЗ в Тихвине<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">2 года 6 месяцев, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Август 2016 - продолжаю работать</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сварка кузовов и рам грузовых железнодорожных вагонов 4 разряд</p>
            </div>
                    <div class="m-t-2">
                <div class="h5">Сварщик на полуавтоматических машинах</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            Техно-Крафт в Тольятти<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">3 года 1 месяц, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Ноябрь 2008 - Декабрь 2011</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сборка методом сварки станков для вакуумной формовки из подготовленных заранее заготовок из листового металла уголка и профильных труб также сварка глушителей легковых автомобилей и проверка их давлением. Имею опыт работы всеми видами электроинструмента и опыт изготовления любых метало-конструкций от слесари до сварки.
Посмотрите https://zennolab.com/discussion/threads/bystryj-parser-ru-eng-tekstovogo-kontenta-na-get-zaprosax.46484/
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Второй день сижу:dl:

Парсю текст естественно с кучей мусора, убираю его с помощью <.*?>, но остаются пробелы, пустые строки... Как не пробовал убрать не получается.. Выяснил что есть скрытые символы, но как это убрать не как не могу понять, может кто поможет что бы текст чистился без этой гадостиПосмотреть вложение 36005

Код:
        <p>5 лет 7 месяцев</p>
                    <div class="m-t-2">
                <div class="h5">Сварщик полуавтомат</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            ТВСЗ в Тихвине<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">2 года 6 месяцев, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Август 2016 - продолжаю работать</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сварка кузовов и рам грузовых железнодорожных вагонов 4 разряд</p>
            </div>
                    <div class="m-t-2">
                <div class="h5">Сварщик на полуавтоматических машинах</div>
                <div class="text-muted">
                    <div class="row m-b-10">
                        <div class="col-md-6 text-muted">
                            Техно-Крафт в Тольятти<br>
                            Производство / Промышленность
                        </div>
                        <div class="col-md-6 text-muted text-md-right pull-md-right"><span class="d-inline-block">3 года 1 месяц, </span>
                            <div class="hidden-sm-down"></div>
                            <span class="d-inline-block">Ноябрь 2008 - Декабрь 2011</span></div>
                        <div class="clearfix"></div>
                    </div>
                </div>
                <p>Сборка методом сварки станков для вакуумной формовки из подготовленных заранее заготовок из листового металла уголка и профильных труб также сварка глушителей легковых автомобилей и проверка их давлением. Имею опыт работы всеми видами электроинструмента и опыт изготовления любых метало-конструкций от слесари до сварки.
C#:
var response = project.Variables["Response"].Value;

var result = Regex.Replace(response, @"\r\n|<.*?>", " ");
result = Regex.Replace(result, @" {2,}", " ");
return result;
результат

2019-02-09_204232.png
 
  • Спасибо
Реакции: CmauJluk

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
  • Спасибо
Реакции: CmauJluk

CmauJluk

Client
Регистрация
25.12.2017
Сообщения
287
Благодарностей
60
Баллы
28
  • Спасибо
Реакции: Sergodjan

Hannes

Client
Регистрация
03.02.2016
Сообщения
492
Благодарностей
234
Баллы
43
Добрый день! Подскажите, пожалуйста. Есть строка, из неё нужно взять первые 90 символов.
Использую регулярку: .{90}
Но если в строке оказывается меньше 90 символов, после выполнения регулярки переменная пустая.
Как правильно написать регулярку, что бы старалась взять 90 символов, а если их меньше в строке, то максимальное значение до 90?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Добрый день! Подскажите, пожалуйста. Есть строка, из неё нужно взять первые 90 символов.
Использую регулярку: .{90}
Но если в строке оказывается меньше 90 символов, после выполнения регулярки переменная пустая.
Как правильно написать регулярку, что бы старалась взять 90 символов, а если их меньше в строке, то максимальное значение до 90?
.{1,90}
 
  • Спасибо
Реакции: Hannes

Unipostmaster

Client
Регистрация
19.01.2014
Сообщения
20
Благодарностей
3
Баллы
3

Winner

Client
Регистрация
16.07.2011
Сообщения
6
Благодарностей
1
Баллы
3
Помогите пожалуйста с регуляркой:

<dl>
<dt class="attribute-key">
Accepts Credit Cards
</dt>
<dd>
Yes
</dd>
</dl>

<dl>
<dt class="attribute-key">
Parking
</dt>
<dd>
No
</dd>
</dl>

Надо получить:
Accepts Credit Cards Yes
Parking No
 

Lolopepe

Новичок
Регистрация
26.02.2019
Сообщения
1
Благодарностей
0
Баллы
1
Помогите пжл с регуляркой. С выдачи гугл нужно собрать все ссылки с определенного сайта по следующему типу https://www.site.com/ что-угодно/QQ/ВА45ВК1221 (в конце обязательно 10 символов)
Попробовала регулярку https://www\.site\.com.[^*<]+(?=').*? - работает, но в конце есть мусор, от которого не знаю как избавиться. Как сделать так, чтобы обрезать все после "QQ/10 символов" ?
 
Регистрация
12.07.2014
Сообщения
916
Благодарностей
371
Баллы
63
Помогите пжл с регуляркой. С выдачи гугл нужно собрать все ссылки с определенного сайта по следующему типу https://www.site.com/ что-угодно/QQ/ВА45ВК1221 (в конце обязательно 10 символов)
Попробовала регулярку https://www\.site\.com.[^*<]+(?=').*? - работает, но в конце есть мусор, от которого не знаю как избавиться. Как сделать так, чтобы обрезать все после "QQ/10 символов" ?
немного прям от балды
/QQ/.{9,10}
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
Помогите пожалуйста с регуляркой:

<dl>
<dt class="attribute-key">
Accepts Credit Cards
</dt>
<dd>
Yes
</dd>
</dl>

<dl>
<dt class="attribute-key">
Parking
</dt>
<dd>
No
</dd>
</dl>

Надо получить:
Accepts Credit Cards Yes
Parking No
Так можно от html-тегов почистить (оставить только текст):

upload_2019-2-26_21-13-0.png


Если задача актуальная, то можно что то дальше придумать,
как привести к нужному виду, как минимум почистить текст от пустых строк.
 
  • Спасибо
Реакции: KitKat21 и Winner

Sibirteh

Client
Регистрация
22.01.2019
Сообщения
51
Благодарностей
9
Баллы
8
Здравствуйте форумчани, помогите решить такую проблему есть переменная ACCESS_NUMBER:743153:77051811111 Требуется разбить 743153:77051811111 на 2 переменные. Как это реализовать это в регулярках ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
Здравствуйте форумчани, помогите решить такую проблему есть переменная ACCESS_NUMBER:743153:77051811111 Требуется разбить 743153:77051811111 на 2 переменные. Как это реализовать это в регулярках ?
Можно без регулярок, с помощью таблицы разбить, см. 1-ый скриншот.
Если важно регуляркой, то можно такой:
Код:
((?<=(^|:|;)).*?(?=(:|;|$|\r\n)))
Это универсальная регулярка, на разделители : и ;
С помощью экшена Обработка текста - Regex (по номеру совпадения, см. 2-ой скриншот)
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Sibirteh

Sibirteh

Client
Регистрация
22.01.2019
Сообщения
51
Благодарностей
9
Баллы
8
Можно без регулярок, с помощью таблицы разбить, см. 1-ый скриншот.
Если важно регуляркой, то можно такой:
Код:
((?<=(^|:|;)).*?(?=(:|;|$|\r\n)))
Это универсальная регулярка, на разделители : и ;
С помощью экшена Обработка данных - Regex (по номеру совпадения, см. 2-ой скриншот)
Щас попробовал с регуляркой ((?<=(^|:|;-)).*?(?=(:|;|$|\r\n))) но столкнулся с тем что не погу понять как сохранить сразу несколько номеров совпадений
 

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 450
Благодарностей
8 678
Баллы
113
Щас попробовал с регуляркой ((?<=(^|:|;-)).*?(?=(:|;|$|\r\n))) но столкнулся с тем что не погу понять как сохранить сразу несколько номеров совпадений
Для такого метода, как пробуете вы, нужна специальная групповая регулярка.
Пробуйте так:

upload_2019-2-27_15-44-33.png
 
  • Спасибо
Реакции: Sibirteh

Sibirteh

Client
Регистрация
22.01.2019
Сообщения
51
Благодарностей
9
Баллы
8

Вложения

  • Спасибо
Реакции: Sergodjan

revan

Client
Регистрация
29.03.2012
Сообщения
23
Благодарностей
8
Баллы
3
Здравствуйте!
Уже не один час бьюсь, помогите пожалуйста решить задачу:
есть линки
http://site.com/product/cross/
http://site.com/product/aaacross/
http://site.com/product/aaa-cross_aaa/

нужно спарсить от / до / текст где содержится ключевое слово cross, вот так:
cross
aaacross
aaa-cross_aaa

в тексте могут быть: буквы, цифры, символы: - _ .

для меня вся сложность в том, что перед и после ключевого слова cross, либо может идти текст либо могу идти сразу /
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 606
Благодарностей
4 597
Баллы
113
Здравствуйте!
Уже не один час бьюсь, помогите пожалуйста решить задачу:
есть линки
http://site.com/product/cross/
http://site.com/product/aaacross/
http://site.com/product/aaa-cross_aaa/

нужно спарсить от / до / текст где содержится ключевое слово cross, вот так:
cross
aaacross
aaa-cross_aaa

в тексте могут быть: буквы, цифры, символы: - _ .

для меня вся сложность в том, что перед и после ключевого слова cross, либо может идти текст либо могу идти сразу /
(?<=/)[\w_.-]*cross[\w_.-]*(?=/)
 
  • Спасибо
Реакции: KitKat21 и revan

Ikigai

Client
Регистрация
13.12.2016
Сообщения
275
Благодарностей
27
Баллы
28
Ребята подскажите как чистить такую информацию ( сниппетом )
HTML:
                                        </div>
                                       
                                           
                                               
                                               
                                                    Advanced Imaging Center
                                               
                                           
                                    ,
                                       
                                           
                                               
                                               
                                                    Radiology &amp; Imaging Services
                                               
                                           
                                    ,
                                       
                                           
                                               
                                               
                                                    Mammography Facility
                                               
                                           
                                    ,
                                       
                                           
                                               
                                               
                                                    Nuclear Cardiology

 

Zlodey-

Client
Регистрация
21.10.2013
Сообщения
62
Благодарностей
12
Баллы
8
Друзья, помоги с регуляркой.
Имеем:
Мама мыла раму|Чисто чисто|Рама стала чистой папа не мыл раму|
Папа мыл раму|Чисто чисто|Рама стала чистой мама не мыла раму|

Нужно сделать проверку на наличие слова ДО первого разделителя |
К примеру нам нужно оставить строку где есть слово папа, соответственно сработает только на втором примере.
Искомое слово, может быть в любом месте предложения (Мыл папа раму, Мыл раму папа и так далее), главное это поиск в предложении ДО первого символа |
 

adrew_stonifos

Новичок
Регистрация
17.03.2019
Сообщения
6
Благодарностей
0
Баллы
1
Как с помощью с# выделить из одного списка и положить в другой подсписок с помощью переменной, в которой содержится значение в удовлетворяющее формату регулярному выражению.
Пример:
1. Список содержит 1000 строк ключевых слов
2. В переменной содержится краткое слово: .*ключ.* или .*(ключ|люч).*?(ключ|люч).* ну и в подобном духе генерированные регулярные выражения
3. Дополнительно как вычислять удовлетворяющие выражение если после окончания круглой скобки нет пробела и внутри круглых скобок целое слово которое на окончание не должно увеличивается если будет найдено совпадение слово с чуть более длинным окончанием? К примеру если слово: ключ, то не должно регулярное выражение дособирать ключЕВОЕ или ключИК? точное соответствие слов с обрезанием после круглых скобок, но чтобы регулярное выражение обрабатывало:
тут пример строка ключ содержащее - должно взять регуляркой
тут второй вариант ключевого слово - не должно взять регуляркой

4. Найденные регулярным выражением в "списке 1" переложить в "список 2"
Кто может помочь?
Так просто блоком не получается... ошибка.... http://joxi.ru/krDbR5DiEPapR2
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 020
Благодарностей
29
Баллы
48
У меня что то регулярки не работают, все варианты перепробовал
(\+\d{1,2})?((\(\d{3}\))|(\-?\d{3}\-)|(\d{3}))((\d{3}\-\d{4})|(\d{3}\-\d\d\-\d\d)|(\d{7})|(\d{3}\-\d\-\d{3}))
(8|\+7|7)?((\s|\-)?)(\([0-9]{3}\)|\-[0-9]{3}\-|\s[0-9]{3}\s|[0-9]{3})(\-|\s)?[0-9]{3}(-|\s)?[0-9]{2}(-|\s)?[0-9]{2}
(\+7|8|\b)[\(\s-]*(\d)[\s-]*(\d)[\s-]*(\d)[)\s-]*(\d)[\s-]*(\d)[\s-]*(\d)[\s-]*(\d)[\s-]*(\d)[\s-]*(\d)[\s-]*(\d)

К примеру мне пишут "Это мой номер 89167773688"
можете этот код скопировать в кубик C#

string His_Messeger="Это мой номер 89167773688" ;
string Nomber=Regex.Match(His_Messeger,@"(8|\+7|7)?((\s|\-)?)(\([0-9]{3}\)|\-[0-9]{3}\-|\s[0-9]{3}\s|[0-9]{3})(\-|\s)?[0-9]{3}(-|\s)?[0-9]{2}(-|\s)?[0-9]{2}").Value;


Nomber=8916777368 ЗДЕСЬ последней цыфры не хватает это 8
 

SlavenTyz

Client
Регистрация
30.04.2018
Сообщения
1 020
Благодарностей
29
Баллы
48
в чате подсказали регулярку она как раз работает

((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,15}
 

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