我如何在Groovy中解决"Did not find four digit hex character"?



我试图在时髦中执行此命令

但出现此错误"未找到四位十六进制字符">

  varinif="0066";
 varfinf="0075";
   string.replaceAll(/n((?!(;29#:[u${varinif}-u${varfinf}]&)).)*(?=n)/, '')

但是当我没有变量作品时

 string.replaceAll(/n((?!(;29#:[u0066-u0075]&)).)*(?=n)/, '')

请帮助我

您需要

使用类似 decodeHex() 的东西将十六进制字符串转换为原始字节,然后可能需要转换为字符类型。然后,您将字符直接插入到字符类中,而无需u

string.replaceAll(/n((?!(;29#:[${varinif}-${varfinf}]&)).)*(?=n)/, '')

基本上,您将u视为在运行时运行的函数,但实际上编译器在编译时转换uXXXX的任何实例。 u${va显然不是有效的 unicode 字符,因此它永远不会被转换;你的u毫无意义。这就是您需要使用运行时方法来执行转换的原因。

最新更新