Preciso processar um arquivo xml, no qual um determinado texto deve ser inserido (duplicado) - veja a seguir, por exemplo:
<Item Property1="..." ... PropertyN="someText"></Item>
Como eu quero que fique:
<Item Property1="..." ... PropertyN="someText">someText</Item>
osomeText
- não tem comprimento fixo (1 ou mais frases/palavras)
- pode/pode conter o seguinte:
- (& e _)
- {0}{1}
- /\~!@#%&*_+
Minhas perguntas:
Consegui encontrar alguns dos grupos (ou seja, o texto antes de PropertyN (
^.*?PropertyN="
) e o último grupo (ou seja, aquele que contém "> < /Item>" -\"></Item>.*$
)), mas não sei como extrair o valor de PropertyN, como integrá-lo e como duplicá-lo.Como posso alterar o regex (substituir por) para que um prefixo e/ou um sufixo (constante em todo o arquivo) sejam adicionados para cada cópia do someText? (por exemplo, quero que "###prefix" e "###suffix" sejam adicionados para que a linha fique assim)
<Item Property1="..." ... PropertyN="someText">###prefixsomeText###suffix</Item>
Obrigada!
R
<Item Property1=.+? PropertyN="([^"]+)">\K
###prefix$1###suffix
. matches newline
Explicação:
Substituição:
Captura de tela (antes):
Captura de tela (depois):