Регулялные выражения

регулярные выражения

С регулярными выражениями бьюсь весь вечер. Помогите вытащить пару значений со строки:
-----------------------
<div>Название</div>

<span>



<b>Karma</b> Police <=то, что нужно вытащить


</span>

-----------------------

Не могу разобраться вот с чем. <b>Karma</b> Police может принимать значения :
<b>Karma</b> Police
<b>Karma</b> <b>Police</b>
Karma Police
Karma <b>Police</b>

я пытаюсь сделать так : <div>Название</div>((.*)\r\n){1,}((<b>)?(.*)(</b>)?)

но выражение выдаёт кашу какую то, которая нужные мне значения не содержит.

Отлаживаю выражение в RegEx Tracer

Примечание:
Елена Левина

Ух не помогает. Уже прямо чувствую как мозг кипит.

Вобще саму строчку <b>Karma</b> Police на выходе нашёл в полном хламе. Но нужно именно слова без тегов

Примечание:
Ноябрь

нет, вы не дочитали вопрос

Примечание:
Спасибо. В два этапа и сделаю.
Ответы:
регулярки pcre?
тогда перед слэшами в закрывающих тэгах надо экранирующие слэши ставить.
это так, навскидку.
собственно исходя из примера вам нужно то, что находится между тегами span, и регулярное выражение выглядит довольно просто
/<span>\s*(.+)\s*<\/span>/
Кроме того можно почитать статьи на тему регулярных выражений.
Если целью всего является парсинг данных (а не упражнения с регулярными выражениями), то можно парсить хтмл (если он валидный).
Так же можно парсить в несколько этапов (если ситуация очень сложная), я иногда так делал на руби.
Если вы про "слова без тегов", то проще всего сделать в 2 этапа помоему
в руби так
s.scan( /<span>\s*(.+)\s*<\/span>/){|v|puts v.first.gsub( /(<b>)|(<\/b>)/,'' ) }


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.