Внимание! В связи с устареванием топика эта страница была взята из кэша.
|
clever
Зарегистрирован: 18.02.03
Сообщения: 801
|
Добавлено: 04/03/04 в 14:00
|
|
Строка - <b>One</b> <b>Two</b> Выражение - <b>(.*)</b>
Нужно получить массив значяений между тегами <b></b>. Но получем это - One</b> <b>Two Он ищет первый открывающий тег в строке и последний закрывающий. Но нормально обрабатывает если на каждой строке по одному <b></b>.
Как заставить его принимать первый закрывающий тег в строке, а не бежать искать дальше?
|
K началу
|
|
|
sexvendor
Зарегистрирован: 07.10.03
Сообщения: 66
|
Добавлено: 04/03/04 в 14:19
|
|
на php
Код: | <? preg_match_all('/<b>(.*)<\/b>/iU', "<b>One</b> <b>Two</b>", $matches); echo '<plaintext>'; print_r($matches); ?>
|
|
K началу
|
|
|
samlowry +
Зарегистрирован: 10.09.03
Сообщения: 951
|
Добавлено: 04/03/04 в 15:01
|
|
В эдитплюсе:
Т. е. ты указываешь не любые символы, а любые символы, кроме <. В этом направлении и надо рыть, RegExp везде разный, где-то тупой, где-то не очень. [/quote]
|
K началу
|
|
|
clever
Зарегистрирован: 18.02.03
Сообщения: 801
|
Добавлено: 04/03/04 в 15:04
|
|
samlowry писал: | В эдитплюсе:
Т. е. ты указываешь не любые символы, а любые символы, кроме <. В этом направлении и надо рыть, RegExp везде разный, где-то тупой, где-то не очень. | [/quote] А если между тегами b будет знак <. Такой метод не стоит применять
|
K началу
|
|
|
clever
Зарегистрирован: 18.02.03
Сообщения: 801
|
Добавлено: 04/03/04 в 15:04
|
|
sexvendor писал: | на php
Код: | <? preg_match_all('/<b>(.*)<\/b>/iU', "<b>One</b> <b>Two</b>", $matches); echo '<plaintext>'; print_r($matches); ?>
|
|
Это то что надо. Но можно подробнее о директиве -U?
|
K началу
|
|
|
clever
Зарегистрирован: 18.02.03
Сообщения: 801
|
Добавлено: 04/03/04 в 16:00
|
|
Теперь всё ясно, нашёл.
|
K началу
|
|
|
perlmaster
Зарегистрирован: 27.02.03
Сообщения: 674
|
Добавлено: 04/03/04 в 18:21
|
|
Даже ограниченная жадность квантификаторов сосет перед вложенными тегами и т.п. траблами. Тут лучше юзать т.н. "заглядывание" или циклическое прохождение регулярного выражения.
|
K началу
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |
Внимание! В связи с устареванием топика эта страница была взята из кэша.
|