Всем доброго времени суток...
Есть вот такая наработочка:
Которая в принципе реализует то что нужно, но как всегда есть "но", да и хочется пользуясь случаем разобраться до конца.
Во-первых я никак не пойму как мне исключить из группы с захватом пустые решения, которые возникают из-за пустых тегов удовлетворяющих условию.
Во вторых я бы хотел добавить в группу с захватом еще одно условие - результат не должен быть "g"...
Я пробую так '(?si)st3[^6].*?">([^g].*?)</TD>' в итоге получаю совсем неожиданный эффект, в массив не попадают пустые значения, причем здесь [^g] ? и более того в массив в некоторых местах набираться значения которые вообще шаблону не удовлетворяют, вернее самому шаблону, а не группе с захватом.
Есть вот такая наработочка:
Код:
#include <array.au3>
$myPattern = '(?si)st3[^6].*?">(.*?)</TD>'
$Text = '<TD class="st35" style="border-top-color:black; border-left-color:black; border-top-width:0pt; border-left-width:0pt">01.01.2012</TD>' & @CRLF & _
'<TD class="st35" style="border-top-color:black; border-top-width:0pt">00:45:44</TD>' & @CRLF & _
'<TD class="st35" style="border-top-color:black; border-top-width:0pt">89008007060</TD>' & @CRLF & _
'<TD class="st35" style="border-top-color:black; border-top-width:0pt">g</TD>' & @CRLF & _
'<TD class="st36" style="border-top-color:black; border-top-width:0pt">Мегафон, Поволжский регион</TD>' & @CRLF & _
'<TD class="st35" style="border-top-color:black; border-top-width:0pt"></TD>' & @CRLF & _
'<TD class="st37" style="border-top-color:black; border-top-width:0pt">sms o</TD>' & @CRLF & _
'<TD class="st35" style="border-top-color:black; border-top-width:0pt"></TD>' & @CRLF & _
'<TD class="st38" style="border-top-color:black; border-top-width:0pt">1</TD>' & @CRLF & _
'<TD class="st38" style="border-top-color:black; border-right-color:black; border-top-width:0pt; border-right-width:0pt">1.65 </TD>'
$sReg = StringRegExp($Text, $myPattern, 3)
_ArrayDisplay($sReg)
Которая в принципе реализует то что нужно, но как всегда есть "но", да и хочется пользуясь случаем разобраться до конца.
Во-первых я никак не пойму как мне исключить из группы с захватом пустые решения, которые возникают из-за пустых тегов удовлетворяющих условию.
Во вторых я бы хотел добавить в группу с захватом еще одно условие - результат не должен быть "g"...
Я пробую так '(?si)st3[^6].*?">([^g].*?)</TD>' в итоге получаю совсем неожиданный эффект, в массив не попадают пустые значения, причем здесь [^g] ? и более того в массив в некоторых местах набираться значения которые вообще шаблону не удовлетворяют, вернее самому шаблону, а не группе с захватом.