gpt4 book ai didi

java - 正则表达式,匹配特定XML标签的内容,但不包含标签本身

转载 作者:行者123 更新时间:2023-12-03 02:11:16 24 4
gpt4 key购买 nike

我一整天都在用头撞这个正则表达式。

任务看起来很简单,我有许多 XML 标记名称,我必须替换(屏蔽)它们的内容。

例如

<Exony_Credit_Card_ID>242394798</Exony_Credit_Card_ID>

必须成为

<Exony_Credit_Card_ID>filtered</Exony_Credit_Card_ID>

有多个具有不同名称的此类标签

如何匹配内部的任何文本但不匹配标签本身?

编辑:我应该再次澄清。分组然后使用组来避免替换内部文本在我的情况下不起作用,因为当我将其他标签添加到表达式时,后续匹配的组编号是不同的。例如:

"(<Exony_Credit_Card_ID>).+(</Exony_Credit_Card_ID>)|(<Billing_Postcode>).+(</Billing_Postcode>)"

replaceAll 与字符串 "$1filtered$2" 不起作用,因为当正则表达式与 Billing_Postcode 匹配时,其组是 3 和 4,而不是 1 和 2

最佳答案

String resultString = subjectString.replaceAll(
"(?x) # (multiline regex): Match...\n" +
"<(Exony_Credit_Card_ID|Billing_Postcode)> # one of these opening tags\n" +
"[^<>]* # Match whatever is contained within\n" +
"</\\1> # Match corresponding closing tag",
"<$1>filtered</$1>");

关于java - 正则表达式,匹配特定XML标签的内容,但不包含标签本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com