Здравствуйте, Константин, Вы писали:
К>Здравствуйте, sinman, Вы писали:
S>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
К>class=(['"])[^'"]*\1
а что значит \1 ?
Здравствуйте, sinman, Вы писали:
S>Здравствуйте, Константин, Вы писали:
К>>Здравствуйте, sinman, Вы писали:
S>>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
К>>class=(['"])[^'"]*\1 S>а что значит \1 ?
back reference к первой группе, та что в круглых скобках (вроде бы)
Здравствуйте, sc, Вы писали:
sc>Здравствуйте, sinman, Вы писали:
S>>Здравствуйте, Константин, Вы писали:
К>>>Здравствуйте, sinman, Вы писали:
S>>>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
К>>>class=(['"])[^'"]*\1 S>>а что значит \1 ? sc>back reference к первой группе, та что в круглых скобках (вроде бы)
дополню: т.е. вместо \1 нужно читать (['"])
Здравствуйте, sc, Вы писали:
sc>Здравствуйте, sinman, Вы писали:
S>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
sc>один из вариантов? sc>".*class=['\"].+['\"].*"
.*?class=['\"].+?['\"].*
Так, кажется, лучше будет — при жадном соответствии есть шанс сматчиться с такой строкой _полностью_: class="123" blablabla class="345"
Здравствуйте, sc, Вы писали:
К>>>>class=(['"])[^'"]*\1 S>>>а что значит \1 ? sc>>back reference к первой группе, та что в круглых скобках (вроде бы) sc>дополню: т.е. вместо \1 нужно читать (['"])
Да, я имел в виду back reference (привык к \1 по EmEditor'у, но, скажем, в Перле это будет $1). Но это вовсе не равнозначно ['"]! Если написать
class=(['"])[^'"]*(['"])
то это может соответствовать, например, class='текст"
В моём же варианте кавычки будут однотипными.
Здравствуйте, HiSH, Вы писали:
HSH>Здравствуйте, sc, Вы писали:
sc>>Здравствуйте, sinman, Вы писали:
S>>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
sc>>один из вариантов? sc>>".*class=['\"].+['\"].*"
HSH>
HSH>.*?class=['\"].+?['\"].*
HSH>
HSH>Так, кажется, лучше будет — при жадном соответствии есть шанс сматчиться с такой строкой _полностью_: class="123" blablabla class="345"
ну я просто не хотел повторяться)) и написал в chukcha-style, т.е. что вижу то и пишу))
хотя с back reference мне кажется получше (покруче))
S>>>>Какое выражение необходимо написать, чтобы найти все подстроки вида class="что нить" или class='что нить'
sc>>>один из вариантов? sc>>>".*class=['\"].+['\"].*"
HSH>>
HSH>>.*?class=['\"].+?['\"].*
HSH>>
HSH>>Так, кажется, лучше будет — при жадном соответствии есть шанс сматчиться с такой строкой _полностью_: class="123" blablabla class="345" sc>ну я просто не хотел повторяться)) и написал в chukcha-style, т.е. что вижу то и пишу)) sc>хотя с back reference мне кажется получше (покруче))
Один фиг надо или .*? ставить, или [^\1]* вместо выделенного.