Реклама на сайте Advertise with us
Тема: RegExp - сложные проблемы Расширенный поиск по форуму
 
Внимание! В связи с устареванием топика эта страница была взята из кэша.
Автор Сообщение
Информация о пользователе 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     

В эдитплюсе:

Код:

<b>([^<]*)</b>


Т. е. ты указываешь не любые символы, а любые символы, кроме <.
В этом направлении и надо рыть, RegExp везде разный, где-то тупой, где-то не очень. [/quote]

K началу

 
Информация о пользователе clever


Зарегистрирован: 18.02.03
Сообщения: 801
Ссылка на сообщениеДобавлено: 04/03/04 в 15:04     

samlowry писал:
В эдитплюсе:
Код:

<b>([^<]*)</b>


Т. е. ты указываешь не любые символы, а любые символы, кроме <.
В этом направлении и надо рыть, 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 символов
Купить рекламу в этом месте!
Внимание! В связи с устареванием топика эта страница была взята из кэша.

Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »