|
|
|
| С наступающим!
<td><a href="http://site.ru/train/t34983">60</a> ("слова не только русские")</td>
<td><a href="http://site.ru/train/t33367">382 **</a></td>
<td><a href="http://site.ru/train/t5870">526Л</a></td>
|
пытаюсь так:
"#<td><a href=\"http:\/\/site\.ru\/train\/t[\d]+\">([\d]+[А-Я]?)([\*])?[<\/a>]([\(\)\"\w]+)?<\/td>#is"
|
но это не видит звездочки и последнюю переменную | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 21:50)
| | Попробуйте следующее выражение
"#<td><a href=\"http://site\.ru/train/t[\d]+\">([\d]+[А-Я]?)([\* ]+)?</a>(.*?)</td>#is"
|
| |
|
|
|
|
|
|
|
для: cheops
(30.12.2010 в 21:59)
| | Спасибо, а то бьюсь второй день! не могли бы Вы объяснить пробел после звездочки в регулярке (я так понял - это "ключ") | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 22:39)
| | Пробел - это пробел :) | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 22:39)
| | Все что в квадратных скобках - это класс символов, задающийся пользователем.Что там встречается то и составляет этот класс.
[абв] означает либо "а", либо "б", либо "в".
Если в [] заключить пробел, то искаться будет и он в том числе.
Все это верно за исключением диапазаонов, которые выглядят так:
[5-7] это либо 5, либо 6, либо 7
или
[а-я] - это любая строчная буква русского алфавита (если локаль настроена правильно и нет проблем с кодировкой). | |
|
|
|
|
|
|
|
для: SHAman
(30.12.2010 в 22:56)
| | Спасибо! я думал, что если есть модификатор "s" - то учитываются все пробелы... | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 23:10)
| | Нет, он только разрешает искать соответствие в пределах нескольких строк, а не одной, как по умолчанию. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2010 в 23:23)
| | т.е. на квадратные скобки модификаторы не действуют? | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 23:25)
| | Почему? Действуют, тут в другом дело, да есть класс \s, который означает пробельные символы, а есть модификатор s - вот этот модификатор означает, что вы сможете найти такую строку
Результат
расположен на
нескольких строках.
|
Вот если модификатора s не будет, вы сможете найти либо "Результат", либо "расположен на", либо "нескольких строках.", а все вместе - нет, так как поиск будет вестись построчно. Собственно если вы его уберет, то заметите, что ничего не изменилось - в вашем случае модификатор s не нужен, так как у вас искомая подстрока всегда находится на одной строке, без переносов. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2010 в 23:31)
| | Спасибо, буду потрошить мануалы:) | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 23:51)
| | Насчет использования пробелов в патерне.. Я бы юзал \040 (и сразу понятно, что пробел должен включаться в строку поиска) | |
|
|
|
|
|
|
|
для: vadimka
(30.12.2010 в 22:39)
| | Добавлю к тому, что написал SHAman - у вас в выражении "382 **" есть пробел - его нужно учесть, у вас в выражении он нигде не фигурирует - поэтому строка и отбрасывалась. | |
|
|
|
|
|
|
|
для: cheops
(30.12.2010 в 23:08)
| | спасибо! | |
|
|
|