Помогите сделать регулярку

sanchessam

Client
Регистрация
13.10.2016
Сообщения
72
Благодарностей
4
Баллы
8
вот из этого

card-meta-row-item text-truncate overflow-hidden card-shop-name">
............................SnappysBoutique
.................................</div>


надо достать
SnappysBoutique

Вместо точек - пробелы! В сообщение пробелы не вставлялись.

Видимо из-за пробелов не могу достать, как с ними справиться подскажите.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Код:
(?s)(?<=card-shop-name"\>\s+?).*?(?=<)
 
  • Спасибо
Реакции: sanchessam

sanchessam

Client
Регистрация
13.10.2016
Сообщения
72
Благодарностей
4
Баллы
8

sanchessam

Client
Регистрация
13.10.2016
Сообщения
72
Благодарностей
4
Баллы
8

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113

doc

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

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
не знаю, почему, но подобные записи s+? из условия корректно не отрабатывают.
Тоже замечал, просто в исходном тексте из первого поста табов не было.
Можно и без модификатора
Код:
(?<=card-shop-name"\>\s+?)[^\s].*[^\s](?=\s+?<)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
не знаю, почему, но подобные записи s+? из условия корректно не отрабатывают.
Код:
(?s)(?<=card-shop-name"\>\s+)[^\s].*?[^\s](?=\s+<)
У меня всегда работало, просто ставлею не +, а *
А за условием \S
Код:
(?<=card-shop-name"\>\s*?)\S.*?\S(?=\s*?<)
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
У меня всегда работало, просто ставлею не +, а *
А за условием \S
Код:
(?<=card-shop-name"\>\s*?)\S.*?\S(?=\s*?<)
ну да, \S идентично [^\s]
Но я о том, что, например, запись \s+ должна искать максимальное вхождение. Но если она используется в условии, например в регуулярке на эту тему
(?<=card-shop-name">\s+)[\w\W]*?(?=<)
то здесь уже она найдёт всего 1 пробел, а остальное отдаст нашей записи [\w\W]*?
но, если будет регулярка, например, групповая
(card-shop-name"\>\s+)([\w\W]*?)(?=<)
то \s+ отработает на максимум

Я к этому привык уже, но это сбивает с толку всё равно порой
 

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