gpt4 book ai didi

java - 在 a\x 十六进制正则表达式模式中使用变量

转载 作者:行者123 更新时间:2023-12-02 12:29:49 27 4
gpt4 key购买 nike

我尝试按字节值拆分一些字符串。就像 0x00 分割符的“first\x00second”一样。我发现编译器无法将\x 标记与变量结合起来。

static public ArrayList split_by_byte(String value, byte spliter) {

if (spliter < 0)
throw new IllegalArgumentException("Отрицательное значение разделителя: " + spliter);

ArrayList<String> result = new ArrayList();

String[] groups = value.split("[\\x" + spliter + "]");

for (String group : groups) {

result.add(group);
}

return result;
}

如何在\xNN 等模式中使用变量值?

最佳答案

在正则表达式中,您不能在单引号/非内插字符串中使用\x。它必须被词法分析器看到。

因为波形符不是元字符。

添加使用正则表达式“debug”,您将看到实际发生的情况。

您还可以使用模式和匹配器类以及 split 方法...

关于java - 在 a\x 十六进制正则表达式模式中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45341990/

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