У меня есть набор XML-тегов:Regex: Добавить текст внутри тегов XML, если не существует
<foo></foo>
Если метки имеют слово «бар» внутри я ничего не делаю
<foo>dog bar cat</foo> -> <foo>dog bar cat</foo>
Если теги не имеют слово «бар» внутри я добавить его в конец текста
<foo>dog cat</foo> -> <foo>dog cat bar</foo>\
«бар» потенциально может быть в любом месте между тегами. Как я могу выполнить эту замену с помощью регулярного выражения?
Я попытался вариации следующих, но он не работает:
(<foo>.*?)((?:bar)*)(.*?</foo>) replace with $1 bar$3
Я получаю разочарование с этим и может использовать некоторую помощь.
Я мог бы сделать это в две замены легче: первая, чтобы удалить слово «бар» изнутри тегов foo, затем другое, чтобы добавить слово «бар» в конец. Это не идеально, но он выполняет мою работу. Мне было интересно, есть ли одно выражение, которое может сделать все. – user1697999