当前位置: 首页 > 知识库问答 >
问题:

始终返回 false 的正则表达式

康弘义
2023-03-14

目标:

使用正则表达式仅显示路径的实际文件夹名称。例如,

C:\Users\Harti\GitHub

应该减少到

GitHub

应该有进一步的规则来防止用户将驱动器作为文件夹输入。

问题:

>

  • if条件返回False,我不知道为什么。

    带有 Regex.Replace(...) 的行抛出了一个 ArgumentException 告诉我(粗略翻译)在分析序列 ^. \([^\] )$ 时,“有一个未完成的 [] 子句”。

    我的想法:

    >

  • 我选择的任何编辑器都将“C:\”标记为指定表达式的匹配项。

    [^\\] 中的双反斜杠可能被视为实际转义右方括号,从而使正则表达式无效。但是,对字符串使用 @“...” 会导致相同的异常。

    你能告诉我我可能遗漏了什么吗?我对VS和C#完全陌生,所以可能会有我还不知道的异常。

    代码:

    static void Main(string[] args)
    {
        string folderPath = "C:\\";
        string disallowedPattern = "^[A-Z]:\\$";
    
        if (Regex.IsMatch(folderPath, disallowedPattern))
        {
            Console.WriteLine("You chose a drive! Not cool!");
        }
        else
        {
            string suggestedProjectName = Regex.Replace(folderPath, "^.+\\([^\\]+)$", "$1");
            Console.WriteLine(suggestedProjectName);
        }
    }
    
  • 共有2个答案

    鄢子平
    2023-03-14

    也许你应该写信

    string disallowedPattern = "^[A-Z]:\\\\$";
    

    因为反斜杠必须在正则表达式和 C 字符串文本中都进行转义。

    谷梁博易
    2023-03-14

    与其使用正则表达式来解析路径信息,为什么不使用System.IO.path?

     类似资料:
    • 问题内容: 使用Python正则表达式如何获得/返回?所有Python回报是: 问题答案: 对象始终为true,如果不匹配,则返回。只是测试真实性。

    • 问题内容: 请弄清楚这一点。该代码正常运行,没有任何异常。 Buttttttttt return语句始终返回false,并且文件未上传到服务器上。请有人帮忙。 供您参考,1)我在办公室网络中。-–>我们需要添加任何代理吗? 请帮忙 问题答案: 确切的失败消息可以通过调用FtpClient#getReplyCode()来找到。从该页面(我的重点): 连接后立即是唯一实时的操作,您需要检查回复代码(因

    • 问题内容: 它们没有正确回答(或根本没有回答)。但是,我不知道为什么总是对我返回false。有人可以告诉我为什么以及如何解决问题?提前致谢。 注意:我所说的活动是包含在中的孩子,这都不是 MAIN 或 LAUNCHER 活动。我不知道这有什么区别。 编辑: 因此应用程序不会进入后台。我希望它进入后台,就像按下硬件HOME一样 问题答案: 我不知道为什么要回去给你。也许您的清单上有些奇怪?无论如何,

    • 我有一个字符串表达式,需要从中获取一些值。字符串如下所示 从这个stribg中,我需要获取一个字符串数组列表,其中包含“example ple1”、“example ple2”等值。 我有一个Java的方法如下所示: 但<code>m。find()总是返回<code>false。我缺少什么吗?

    • 我一直在尝试检查Json中是否存在IP模式或未使用Java。但是,模式匹配器返回 false。以下是我的代码片段 responseDataInput返回false。如何使用正则表达式强行搜索IP模式匹配?

    • 我被难倒了,试图让我的密码成功地与bcrypt使用node进行比较。也许我错过了什么,但是在创建帐户时,我在signup方法中执行了以下操作(有些代码被缩写): 一切正常。我的数据库有加密密码。但当用户登录时,我无法从bcrypt获得成功的结果。比较: 而我总是以无效的密码结束。在与我从数据库中提取的密码进行比较之前,我是否需要获取明文密码并重新加密它?