我试图在时髦中执行此命令
但出现此错误"未找到四位十六进制字符">
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
毫无意义。这就是您需要使用运行时方法来执行转换的原因。