XML, который я пытаюсь проанализировать:
<target>
<mrk mtype="seg" mid="1">Text 1</mrk>
<mrk mtype="seg" mid="2">Text 2</mrk>
</target>
Что я хочу сделать, более конкретно:
Используйте regex для поиска и замены текста в тегах mrk ... / mrk, но ТОЛЬКО для тегов mrk, которые находятся внутри целевых тегов (например, игнорируя теги mrk, которые находятся внутри тегов источника).
Что я пробовал:
<target>(<mrk mtype=\"seg\" mid=\"\d\">(.*?)</mrk>)</target>
Ошибка:
Это смешивает Text1 и Text2 вместе.
Я хочу получить их отдельно, независимо от того, есть ли только один набор тегов mrk в целевом теге или есть 2, 3 и т. Д. *
Можно ли это сделать с помощью регулярного выражения?
Еще один способ объяснить, что мне делать, это сказать, что я хочу запечатлеть:
<target>(.*?)</target>
и затем захватить все экземпляры:
<mrk mtype=\"seg\" mid=\"\d\">(.*?)</mrk>
индивидуально внутри целевых тегов - не сгруппированы вместе, как сейчас.
Другой сбой:
Насколько я могу судить, я не могу разбить это на два выражения, так как мне нужно сначала найти целевые теги, а затем заменить текст между отмеченными тегами внутри целевых тегов.