gpt4 book ai didi

Java正则表达式查找十六进制字符串

转载 作者:行者123 更新时间:2023-12-01 12:08:20 26 4
gpt4 key购买 nike

我有一个包含十六进制值的字符串,例如\x76\x6f\x69\x64\x28\x29 (void()) 表示形式,我想从以下位置搜索\x76\x6f\x69\x64\x28\x29 值上面的字符串。

同样需要 Java 正则表达式模式。

提前致谢。

最佳答案

由于这似乎是某种调试器输出,因此我假设您指的是带有转义序列的字符串,而不是这些转义序列表示的字符。在这种情况下:

String s = "\\x76\\x6f\\x69\\x64\\x28\\x29 (void())";
String s2 = s.replaceAll("^((\\\\x[0-9a-f]{2})+) .*$", "$1");

其中 \\x[0-9a-f]{2} (对于 Java 字符串正确转义)与字符序列匹配,从那里开始它只是 ^(sequence+) 。* $,即多次匹配序列,捕获它(在 $1 中),并丢弃字符串的其余部分。

这假设字符串以字符序列的序列开头。如果不是这种情况,您将必须删除 ^ (它与字符串的开头匹配)。

关于Java正则表达式查找十六进制字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27418045/

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