gpt4 book ai didi

C# 正则表达式异常 - 十六进制数字不足

转载 作者:行者123 更新时间:2023-12-04 21:57:32 24 4
gpt4 key购买 nike

我正在尝试编写一些正则表达式模式代码,这些代码将通过使用组来删除文本的某些部分。这是代码:

    private static string ParseSnippet(string ownitDirectory, string project) 
{
Match m = Regex.Match("(" + project + "\\\\.*\\\\)", ownitDirectory, RegexOptions.IgnoreCase);
return m.Groups[1].Value;
}

我遇到的问题是我使用的模式导致发生异常。这个异常(exception)对我来说没有任何意义。我已经在大量在线测试人员中测试了该模式,但这对解决问题没有帮助。

有人对我应该做什么有什么建议吗?

编辑:

忘了说异常是“Insufficient hexadecimal digits”

最佳答案

tldr:您很可能会收到错误,因为您的输入中包含“\x”或“\u”,例如目录“c:\xenophobe”或“c:\user...”

根据此页面(http://www.regular-expressions.info/quickstart.html),“\x”用于指示 Unicode 或其他语言集字符。对于 Unicode,“\x{FFFF}”或“\uFFFF”都匹配具有给定十六进制索引的 Unicode 字符。由于 x/u 之后的文件夹名称与十六进制数字的 0-9、a-f 模式不匹配,并且您的文件夹被用作正则表达式匹配项,因此您收到了一个错误。任何时候你不小心使用你的字符串作为正则表达式进行比较,你一定会遇到正则表达式解析问题。

关于C# 正则表达式异常 - 十六进制数字不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24186749/

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