gpt4 book ai didi

c# - 正则表达式匹配路径

转载 作者:行者123 更新时间:2023-12-03 19:42:13 25 4
gpt4 key购买 nike

我试图验证用户输入的字符串是否正确的相对路径。

  • 它不应该以 开头 Assets /
  • 它不应该以 结尾/
  • 它不应以任何文件扩展名结尾,例如 .html 或 .php 或 .jpg
  • 它不应包含点 .

  • 我正在尝试使用以下正则表达式,但它无法正常工作。
    ^([a-z]:)*(\/*(\.*[a-z0-9]+\/)*(\.*[a-z0-9]+))

    我的测试用例

    有效路径
  • sample /你好/图像
  • 样本/hello_vid/用户/数据
  • 测试/123/user_live/images

  • 无效路径
  • Assets /样本/你好/图像
  • 样本/hello_vid/用户/数据/
  • 测试/123/user_live/images/index.html
  • hii/sk.123/data
  • 好的/再见/last.exe
  • 最佳答案

    替代“可读”方法;)

    public static bool IsValidPath(this string path)
    {
    if (string.IsNullOrEmpty(path)) return false;
    if (path.StartsWith("assets/")) return false;
    if (path.EndsWith("/")) return false;
    if (path.Contains(".")) return false;

    return true;
    }

    // Usage
    var value = "sample/hello/images";
    if (value.IsValidPath())
    {
    // use the value...
    }

    关于c# - 正则表达式匹配路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62317779/

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