0

Есть строка:

<a class="autor" href="/bookcard?book_id=851397">Ленин, В. И. (Ульянов, В. И.).</a><br>

Я хочу заменить тэги <a class="autor" href="/bookcard?book_id=851397"></a> на тег <author> и </author>, а так же тег <br>

Еще бы понять, как можно "вырвать" id=851397, который внутри тега, чтобы получилось <id>851397</id>

  • 3
    Вам поможет HTML-парсер для выбранного языка. Регулярными выражениями ничего "вырывать" и менять не стоит. –  May 26 '15 at 19:00
  • приводите более точно, что должно быть на выходе. А также возможные входные варианты. Ещё неплохо указать язык программирования и, если доступно, какую библиотеку регулярок будете использовать. – KoVadim May 26 '15 at 19:06
  • 1
  • 1
    Информация из этого вопроса может быть вам полезна: http://ru.stackoverflow.com/questions/420354/%D0%9A%D0%B0%D0%BA-%D1%80%D0%B0%D1%81%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D1%82%D1%8C-html-%D0%B2-net – Timofei Bondarev May 26 '15 at 19:42
  • Я пишу парсер на java – volkov sergey May 27 '15 at 08:05
  • 1
    @volkovsergey: А чем Вас не устраивает jsoup? – Wiktor Stribiżew May 27 '15 at 08:29
  • Возьмите парсер и не морочьте себе (и нам) голову. As I have answered in HTML-and-regex questions here so many times before, the use of regex will not allow you to consume HTML. (c) – VladD May 27 '15 at 12:34

1 Answers1

1
(class="autor"\s.+id=(\d+).+)>(.*)(<\/a>)

смотри тут https://regex101.com/r/aK2aJ4/4

в итоге 4 переменные

1 - `class="autor" href="/bookcard?book_id=851397"`
2 - `851397`
3 - `Ленин, В. И. (Ульянов, В. И.).`
4 - `</a>`

Вам нужна 2 и 3