Оригинальное дополнительное оборудование и запчасти для Volkswagen AG (Volkswagen, Skoda, Seat, Audi)

[-]
Форуми
Пошук
Правила форуму
Відповісти 
ИТ клубочек в рамках клуба
Автор Повідомлення
smile Немає
Бородатий адмін
*****

Повідомлень: 7 343
Приєднався: Jul 2005
Київ
A5TDI.DSG, Golf+TDI.DSG, Micra1.2AT
Skype IDecho123
Повідомлення: #261
15-04-2016 23:40 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:26)Serhij :  Если бы это был перл и была поддержка atomic grouping или Lookbehind....
Смотрите апдейт моего начального поста.

тогда это :
Код:
<SPAN id="productid"[^>]+><!-- .VS_+ -->\s*([^<]+)\s*<\/SPAN>

Hello!

Moscovia deletum est!

vim it!^[:wq
(Востаннє це повідомлення було змінене: 15-04-2016 23:40 smile.)
Перейти до сайту учасника Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
oleg77 Немає
Писатель
***

Повідомлень: 319
Приєднався: Nov 2010
Харьков
Roomster FL 1.4
Повідомлення: #262
15-04-2016 23:42 RE: ИТ клубочек в рамках клуба

такое работает
Код:
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>


Файл(и) Мініатюри
   
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
smile Немає
Бородатий адмін
*****

Повідомлень: 7 343
Приєднався: Jul 2005
Київ
A5TDI.DSG, Golf+TDI.DSG, Micra1.2AT
Skype IDecho123
Повідомлення: #263
15-04-2016 23:47 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:42)oleg77 :  такое работает
Код:
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>

но без идентификации span'а Ля-Ля-Ля, а это может привести к трудно отлавливаемым глюкам Wink

Moscovia deletum est!

vim it!^[:wq
Перейти до сайту учасника Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
Serhij Немає
Классик
****

Повідомлень: 1 400
Приєднався: Mar 2013
Киев
A7 1.4TSI CHPA (була А5 2.0FSI BVZ)
Повідомлення: #264
15-04-2016 23:48 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:38)oleg77 :  Вариант предложенный smile тоже не работает?
Там только одна группировка, вроде везде должно работать.
Может заэкранировать чего-то надо в VB...

По варианту smile Возвращается вся строка. А надо только значение между тегами без начальных пробелов. В моем варианте я откусываю закрывающий тег, но не могу избавиться от открывающего.

Таких тегов много, они малость отличаются но похожи <!-- @ХХХ_______________ -->
где вместо ХХХ некий идентификатор.
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
oleg77 Немає
Писатель
***

Повідомлень: 319
Приєднався: Nov 2010
Харьков
Roomster FL 1.4
Повідомлення: #265
15-04-2016 23:50 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:47)smile :  
(15-04-2016 23:42)oleg77 :  такое работает
Код:
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>

но без идентификации span'а Ля-Ля-Ля, а это может привести к трудно отлавливаемым глюкам Wink

Это да, для начала хотя бы так заработало Smile
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
Serhij Немає
Классик
****

Повідомлень: 1 400
Приєднався: Mar 2013
Киев
A7 1.4TSI CHPA (була А5 2.0FSI BVZ)
Повідомлення: #266
15-04-2016 23:50 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:42)oleg77 :  такое работает
Код:
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>

Надо отловить чистое значение на вашем скриншоте обозначенное как group #1
(Востаннє це повідомлення було змінене: 15-04-2016 23:52 Serhij.)
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
smile Немає
Бородатий адмін
*****

Повідомлень: 7 343
Приєднався: Jul 2005
Київ
A5TDI.DSG, Golf+TDI.DSG, Micra1.2AT
Skype IDecho123
Повідомлення: #267
15-04-2016 23:56 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:48)Serhij :  По варианту smile Возвращается вся строка. А надо только значение между тегами без начальных пробелов. В моем варианте я откусываю закрывающий тег, но не могу избавиться от открывающего.

Таких тегов много, они малость отличаются но похожи <!-- @ХХХ_______________ -->
где вместо ХХХ некий идентификатор.

идентификатором скорее всего является <SPAN id="XXX"..., хотя пути программеров неисповедимы, конечно.

если отлавливается моим вариантом нужная строка, тогда после отлова можно просто удалить из строки лишнее, нет ? не помню толком, как там в VB, но поиск_и_замена должна же быть ?
тогда по аналогии с перл

$found =~ s/^.+-->\s+//;
$found =~ s/\s+<\/SPAN>.*$//;

ЗЫ. исправил окончание второго регекса.

Moscovia deletum est!

vim it!^[:wq
(Востаннє це повідомлення було змінене: 15-04-2016 23:58 smile.)
Перейти до сайту учасника Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
oleg77 Немає
Писатель
***

Повідомлень: 319
Приєднався: Nov 2010
Харьков
Roomster FL 1.4
Повідомлення: #268
15-04-2016 23:58 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:48)Serhij :  По варианту smile Возвращается вся строка. А надо только значение между тегами без начальных пробелов. В моем варианте я откусываю закрывающий тег, но не могу избавиться от открывающего.

Может тогда проблема не в регекспе, а в вытаскиваемом значении, может Вы берете всю совпадающую часть, а не группу 1?
Например в перле $& возвращает всю совпадающую строку, а $1 - значение в первой группе.
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
Serhij Немає
Классик
****

Повідомлень: 1 400
Приєднався: Mar 2013
Киев
A7 1.4TSI CHPA (була А5 2.0FSI BVZ)
Повідомлення: #269
16-04-2016 00:01 RE: ИТ клубочек в рамках клуба

(15-04-2016 23:58)oleg77 :  
(15-04-2016 23:48)Serhij :  По варианту smile Возвращается вся строка. А надо только значение между тегами без начальных пробелов. В моем варианте я откусываю закрывающий тег, но не могу избавиться от открывающего.

Может тогда проблема не в регекспе, а в вытаскиваемом значении, может Вы берете всю совпадающую часть, а не группу 1?
Например в перле $& возвращает всю совпадающую строку, а $1 - значение в первой группе.
ИМХО в этом то и есть суть проблемы. Как вытащить группу 1?
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>\1 - no match Sad
<!-- @VS_+ -->\s*(.+)(?=\s+<\/SPAN>);\1 - no match


(15-04-2016 23:56)smile :  
(15-04-2016 23:48)Serhij :  По варианту smile Возвращается вся строка. А надо только значение между тегами без начальных пробелов. В моем варианте я откусываю закрывающий тег, но не могу избавиться от открывающего.

Таких тегов много, они малость отличаются но похожи <!-- @ХХХ_______________ -->
где вместо ХХХ некий идентификатор.

идентификатором скорее всего является <SPAN id="XXX"..., хотя пути программеров неисповедимы, конечно.

если отлавливается моим вариантом нужная строка, тогда после отлова можно просто удалить из строки лишнее, нет ? не помню толком, как там в VB, но поиск_и_замена должна же быть ?
тогда по аналогии с перл

$found =~ s/^.+-->\s+//;
$found =~ s/\s+<\/SPAN>.*$//;

ЗЫ. исправил окончание второго регекса.

Откусить начало строки я могу, но хотелось бы разобраться с регуляркой. Для меня это новая территория.
(Востаннє це повідомлення було змінене: 16-04-2016 00:04 Serhij.)
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
oleg77 Немає
Писатель
***

Повідомлень: 319
Приєднався: Nov 2010
Харьков
Roomster FL 1.4
Повідомлення: #270
16-04-2016 00:05 RE: ИТ клубочек в рамках клуба

(16-04-2016 00:01)Serhij :  ИМХО в этом то и есть суть проблемы. Как вытащить группу 1?
<!-- .VS_+ -->\s*(.+?)\s*<\/SPAN>\1 - no match Sad


Особо не вчитывался, но может натолкнет на мысль http://www.regular-expressions.info/vbscript.html

Цитата:The SubMatches property of the Match object is a collection of strings. It will only hold values if your regular expression has capturing groups. The collection will hold one string for each capturing group. The Count property indicates the number of string in the collection. The Item property takes an index parameter, and returns the text matched by the capturing group. The Item property is the default member, so you can write SubMatches(7) as a shorthand to SubMatches.Item(7). Unfortunately, VBScript does not offer a way to retrieve the match position and length of capturing groups.
Шукати всі повідомлення учасника Цитувати це повідомлення у відповіді
Відповісти 


Швидкий перехід:


Переглядають: Гості: 7