Что не так с регуляркой?

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
Что не так с регуляркой?

Вот сам текст регулярки:
Код:
(?<="items":\[).*?(?=]}}})
Вот текст, откуда надо взять последние значения items (в конструкторе выбрал "самое короткое совпадение")
Код:
{"response":{"users":{"count":0,"items":[]},"groups":{"count":3,"items":[41807249,40399920,91009752]}}}
Снимок.PNG

Мне надо в результате получить
Код:
41807249,40399920,91009752
А получается:
Код:
]},"groups":{"count":3,"items":[41807249,40399920,91009752
Почему не берётся самое короткое совпадение?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
просто такой вариант был первым. он был найден, а поиск дальше уже пошел со следующих символов, не захватывая ранее найденный текст.
попробуй [^\[]* вместо .*?
 
  • Спасибо
Реакции: codeby

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 448
Баллы
113
просто такой вариант был первым. он был найден, а поиск дальше уже пошел со следующих символов, не захватывая ранее найденный текст.
попробуй [^\[]* вместо .*?
ваш вариант работает=)



(?<=items":\[)[^\[]*(?=]}}})
 
  • Спасибо
Реакции: codeby

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
просто такой вариант был первым. он был найден, а поиск дальше уже пошел со следующих символов, не захватывая ранее найденный текст.
попробуй [^\[]* вместо .*?
но ведь он не самый короткий получился
не пойму логики
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 777
Благодарностей
1 448
Баллы
113

rostonix

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

codeby

Client
Регистрация
25.08.2014
Сообщения
394
Благодарностей
53
Баллы
28
Поиск осуществляется слева направо.
а в чём разница?
тут же по идее должен сравниваться диапазон символов
например A-C длиннее B-C

явно же от второго items количество символом меньше до конца, чем от первого.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Нет, не должен.
Я тоже когда начинал пользоваться только софтом считал это багом))
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 451
Благодарностей
1 885
Баллы
113
а в чём разница?
тут же по идее должен сравниваться диапазон символов
например A-C длиннее B-C

явно же от второго items количество символом меньше до конца, чем от первого.
http://zennolab.com/discussion/threads/reguljarnye-vyrazhenija-chto-ehto-takoe-i-s-chem-ix-edjat.23612/#post-160877
почитайте эту часть. Там описана Ваша ситуация.
 
  • Спасибо
Реакции: codeby

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