Как вы можете найти значение повторяющейся строки и данные между ней с помощью регулярных выражений? Например, возьмите этот фрагмент XML:Как найти повторяющуюся строку и значение между ними с помощью регулярных выражений?
<tagName>Data between the tag</tagName>
Что было бы правильным регулярным выражением, чтобы найти эти значения? (Обратите внимание, что tagName
может быть любым).
Я нашел способ, который работает, что включает в себя поиск всех tagName
S, которые между ними набором < >
, а затем поиском первого экземпляром tagName
от открывающего тега до конца строки, а затем найти закрытие </tagName>
и выработать данные между ними. Тем не менее, это чрезвычайно неэффективно и сложно. Должен быть более простой способ!
EDIT: Пожалуйста, не говорите мне использовать XMLReader; Я сомневаюсь, что когда-либо буду использовать свой собственный класс для чтения XML, я пытаюсь изучить лучший способ сделать это (и неправильные способы), пытаясь сделать свой собственный.
Заранее спасибо.
Ну - это звучит немного элегантным, но я не имею в виду его Таким образом, вы определенно находитесь на правильном пути для изучения одного из неправильных способов. Роль регулярных выражений в построении XML-читателя играет роль, но в сканировании, а не в синтаксическом анализе. –
А, наверное, ты прав. Мне это удалось, когда у вас есть только и так далее, но он падает до битов, когда добавляется или что-то еще, и я не вижу, как его адаптировать для работы. –