Найти и заменить только часть выражения Regex в IDE

Я пытаюсь исправить неправильно сформированный XML с помощью Regex в VS Code.

Код проблемы - самозакрывающиеся теги. При сборке проекта они вкладываются как дети. Поэтому мне просто нужен простой шаблон регулярных выражений, чтобы соответствовать только одним элементам (здесь многоугольник) и игнорировать другие.

Используя шаблон Regex:

(?:\.[0-9]+\"\s)\/\>

Я хочу искать: теги, содержащие десятичную точку, число (и) и двойные кавычки в конце. Я хочу заменить: все после этого.

Проблема - он заменяет всю часть, а не кусок во втором выражении ()

Пример:

...
<stop offset="1" stop-color="#7ccb13" />
<stop offset="1" stop-color="#7ccb55" />
...
<polygon points="393.38 285.04 394.44 284.63 393.67 283.79 394.61 284.38 394.59 283.31 394.94 284.34 395.79 283.54 395.21 284.5 396.3 284.49 395.28 284.83 396.16 285.64 395.05 285.05 395.12 286.27 394.73 285.1 393.89 285.88 394.43 284.99 393.38 285.04" />
<polygon points="159.41 439.9 160.88 439.35 159.82 438.19 161.12 439.01 161.08 437.52 161.57 438.95 162.74 437.84 161.94 439.16 163.46 439.15 162.04 439.63 163.25 440.75 161.72 439.92 161.82 441.61 161.28 440 160.12 441.07 160.87 439.84 159.41 439.9" />
<polygon points="180.71 444.75 182.18 444.2 181.11 443.04 182.41 443.86 182.38 442.37 182.87 443.8 184.04 442.69 183.24 444.01 184.75 444 183.33 444.48 184.55 445.59 183.02 444.77 183.12 446.46 182.57 444.85 181.42 445.92 182.16 444.69 180.71 444.75" />
...

Желаемый вывод - закрывающие теги:

1 ответ

Решение

Я думаю (<polygon.+)(\/>) должен работать, и заменить на $1></polygon>,

пример

Другие вопросы по тегам