|
|
|
| Добрый день!
У меня следующая проблема:
есть отрывок из регулярного выражения ...ID=(.*?)\"><img(.*?<p class=cool>(.*?)</p>)?...
Как из него видно мы сначала получаем значение ID а потом, спустя какое то время все что находится между <p class=cool>....</p> Но вот беда, иногда в строке второго поля нет. Поэтому пришлось обрамить скобками (.*?<p class=cool>(.*?)</p>)? и в конце поставить '?'. И у меня между 1й и 2й переменной появилась ещё одна переменная. Как мне её избежать? | |
|
|
|
|
|
|
|
для: diclofoss
(17.09.2009 в 12:58)
| | применить незахватывающую подмаску. (?: | |
|
|
|
|
|
|
|
для: Trianon
(17.09.2009 в 13:33)
| | Пробовал
.*?(<p class=cool>(.*?)</p>)? но почему-то строку не находит... и это не спасёт от ещё одной переменной | |
|
|
|
|
автор: ....... (17.09.2009 в 15:44) |
|
|
для: diclofoss
(17.09.2009 в 13:38)
| | > .*?(<p class=cool>(.*?)</p>)? но почему-то строку не находит..
заменять (.*?<p class=cool>(.*?)</p>)? на это, - совсем не то что предложено
,пробуйте (?:.*?<p class=cool>(.*?)</p>)?
, или так (?:.*?<p class=cool>(?:.*?)</p>)? | |
|
|
|
|
|
|
|
для: .......
(17.09.2009 в 15:44)
| | Спасибо. | |
|
|
|