gpt4 book ai didi

java - 正则表达式仅从 xml 标签中删除 uri 前缀(标签内)

转载 作者:太空宇宙 更新时间:2023-11-04 08:37:52 24 4
gpt4 key购买 nike

我需要一个正则表达式来仅从 xml 标记中删除 uri 前缀(标记内)。

示例

输入:

<ns1:fso xlmns:="http://xyz"><sender>abc</sender></ns1:fso>

输出:

<fso xlmns:="http://xyz"><sender>abc</sender></fso>

这是我的代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class RegularExpressionTest {

private static String REGEX1 = "<\\/?([a-z0-9]+?:).*?>";

private static String INPUT = "<ns1:fso xmlns:ns1='https://www.example.com/fsoCanonical'>
<ns2:senderId xmlns='http://www.example.com/fsoCanonical'>abc</ns2:senderId>
<receiverId xmlns='http://www.example.com/fsoCanonical'>testdata</receiverId>
<messageId xmlns='http://www.example.com/fsoCanonical'>4CF4DC05126A0077E10080000A66C871</messageId>
</ns1:fso> ";

private static String REPLACE = "";

public static void main(String[] args) {


Pattern p = Pattern.compile(REGEX1);
Matcher m = p.matcher(INPUT); // get a matcher object
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, REPLACE);
}
m.appendTail(sb);
System.out.println(sb.toString());
}

我无法在此处粘贴输入 XML

private static String INPUT =

不是上面代码中所示的正确值。相反,您可以采用任何肥皂消息的示例。

最佳答案

我更习惯使用 PERLs RegEx 引擎,但如果它的工作原理相同,可能就是这样:

private static String REGEX1 = "(<\\/?)[a-z0-9]+:";

private static String REPLACE = "$1";

关于java - 正则表达式仅从 xml 标签中删除 uri 前缀(标签内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5962898/

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