Проблемы с конструкцией if

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Добрый день, подскажите пожалуйста как реализовать.
а то я что то запутался.

Есть урл вида.
https://www.facebook.com/profile.php?id=100017922016412
https://www.facebook.com/emrula.havzi

Получаю, добавляю в переменную.
Дальше делаю обработку регуляркой, (?<=com/).*
На выходе имею,
profile.php?id=100017922016412
emrula.havzi
а мне нужно, 100017922016412 и emrula.havzi
Подскжаите как регуляркой получить или только эти значения.
или как собрать дополнительную проверку, через оператор if.
что бы на выходе я получил 100017922016412
{-Variable.TEST-} == '(?<=profile\.php\?id=).*'
 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Просто другой регуляркой обрезай первую ссылку. Сделай, чтобы бралось все после id=
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Можно пример?
реально что то я запутался (
 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Можно пример?
реально что то я запутался (

Разными регулярками нужно обрабатывать. Если заранее не знаешь какого вида ссылка будет, то тут if в помощь
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Вот с IF и проблема в общем то, как обработать регулярками я то понимаю.
А вот как через If реализовать что если типа 1 то такое действие а если тип 2 то такое.
Сам if вообще поддерживает regexp ?
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
можно ли в if указать как то маску ?
Ну например
{-Variable.TEST-} == 'profile*'
 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Вот с IF и проблема в общем то, как обработать регулярками я то понимаю.
А вот как через If реализовать что если типа 1 то такое действие а если тип 2 то такое.
Сам if вообще поддерживает regexp ?
Как вариант
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Вот проблема в том что IF не отрабатывает.
'{-Variable.fb_profile_url_orig-}'=='id='
 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Вот проблема в том что IF не отрабатывает.
'{-Variable.fb_profile_url_orig-}'=='id='
Хм... Должен отрабатывать. А что в логе?
 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Сейчас у себя проверил на примере двух этих ссылок - все работает. Если ссылка содержит id=, то происходит переход на 1 regex, если не содержит, то на другой
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,650
Points
113
в искомом тексте замени profile.php?id= на пустоту, а потом уже своей регуляркой собирай айдишники
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Ну вот смотри, строка на входе содержит все что нужно.
а IF отрабатывает по невыполнению.

В итоге все уходит не на ту регулярку.

 

san_sanich

Client
Joined
Mar 15, 2017
Messages
257
Reaction score
35
Points
28
Ну вот смотри, строка на входе содержит все что нужно.
а IF отрабатывает по невыполнению.

Ты забыл еще 1 regex до кубика if. Внимательно посмотри мой шаблон.
То есть, что происходит в том шаблоне что я показал. Есть полученная ссылка. Сначала с помощью регулярки пытаемся из нее выпарсить "id=" и кладем его в переменную checkId. Затем идем в if-else. Если "chekId"="id=", то значит в нашей ссылке есть "id=", а значит идем в кубик с регуляркой где обрабатываем ссылки такого рода. Если же в результате сравнения результат false, значит, что "id=" первой регуляркой взять не удалось, значит в ссылке этого нет и следовательно обрабатываем такую ссылку другой регуляркой.

А вообще хороший вариант у doc сверху, без этих костылей)
 
Last edited:
  • Thank you
Reactions: kkelsing

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,131
Points
113
Регулярка возьмет 100017922016412 и emrula.havzi
Code:
[\w.-]+(?=$)
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Ты забыл еще 1 regex до кубика if. Внимательно посмотри мой шаблон
Да, я в начале подумал что можно без нее обойтись, теперь вставил, сейчас уходит на success.
 

kkelsing

Новичок
Joined
Apr 4, 2017
Messages
13
Reaction score
0
Points
1
Регулярка возьмет 100017922016412 и emrula.havzi
Code:
[\w\d.-]+(?=$)
Вооо, пасиб большое.
 

doc

Client
Joined
Mar 30, 2012
Messages
8,685
Reaction score
4,650
Points
113
  • Thank you
Reactions: Dimionix

Dimionix

Moderator
Joined
Apr 9, 2011
Messages
3,068
Reaction score
3,131
Points
113

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)