У меня есть XML-файл, и мне нужно найти все параметры с параметризованным именем аспект (или поле имени с Aspect в качестве значения), найти конец параметра, вставить другой аналогичный параметр, называемый linewidth (см. Ниже для параметр аспекта
<parameter>
<parameterid>aspect</parameterid>
<name>Aspect</name>
<valuemin>0.1</valuemin>
<valuemax>5</valuemax>
<value>1</value>
</parameter>
Прямо сейчас я могу сделать это с кодом ниже:
(?m:(<name>Aspect<.+?</value>.))(\t+)(</parameter>)
$1$2$3\n$2<parameter>\n$2\t<parameterid>linewidth</parameterid>\n$2\t<name>Line Width</name>\n$2\t<valuemin>0</valuemin>\n$2\t<valuemax>200</valuemax>\n$2\t<value>20</value>\n$2</parameter>
Однако сначала я вставляю все параметры аспекта. Я попытался использовать (?<=
, чтобы я мог просто найти местоположение конца параметра аспекта. Но как только я это сделаю, (?m:
не работает. Кто-нибудь знает, как заставить их работать вместе? Просто хочу знать.
В идеале, если что-то подобное работает, было бы замечательно:
(?m:(?<=<name>Aspect<.+?</value>.))(\t+)(</parameter>)
Спасибо заранее.