\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}] 正则没错 但放到 Regex regex = new Regex(@"\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}]"); 就报错
正在分析“\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}]”- 十六进制位数不足
\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}] 正则没错 但放到 Regex regex = new Regex(@"\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}]"); 就报错
正在分析“\d+[.]?[\d]?[\x{5757}\x{5143}\x{94b1}]”- 十六进制位数不足
参考GPT和自己的思路:
这个错误可能是因为在C#中使用Unicode字符时,需要使用4位的十六进制数表示,而不是只使用2位。
尝试将正则表达式中的Unicode字符改为使用4位的十六进制数表示,例如将"\x{5757}"改为"\u5757"。
所以,可以尝试将正则表达式改为如下形式:
Regex regex = new Regex(@"\d+[.]?[\d]?[\u5757\u5143\u94b1]");
这个修改应该可以解决你遇到的问题。