我需要处理一个 xml 文件,其中必须插入(复制)某些文本 - 例如,请参阅以下内容:
<Item Property1="..." ... PropertyN="someText"></Item>
我希望它看起来如何:
<Item Property1="..." ... PropertyN="someText">someText</Item>
这someText
- 没有固定长度(1 个或多个句子/单词)
- 可以/可能包含以下内容:
- xA
- (& 和 _)
- {0}{1}
- /\~!@#%&*_+
我的问题:
我设法找到了一些组(即 PropertyN 之前的文本(
^.*?PropertyN="
)和最后一个组(即包含“> </Item>” - 的组)\"></Item>.*$
),但我不知道如何提取 PropertyN 值、如何集成它以及如何复制它。我如何更改(替换)正则表达式,以便为 someText 的每个副本添加前缀和/或后缀(整个文件中的常量)?(例如,我希望添加“###prefix”和“###suffix”,以便该行看起来像这样)
<Item Property1="..." ... PropertyN="someText">###prefixsomeText###suffix</Item>
谢谢你!
R
答案1
- Ctrl+H
- 找什么:
<Item Property1=.+? PropertyN="([^"]+)">\K
- 用。。。来代替:
###prefix$1###suffix
- 查看 相符
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
<Item Property1= # literally
.+? # 1 or more any character, not greedy
PropertyN=" # literally
([^"]+) # group 1, 1 or more any character that is not double quote
"> # end tag
\K # forget all we have seen until this position
替代品:
###prefix # prefix
$1 # content of group 1, (some text)
###suffix # suffix
截图(之前):
截图(之后):