You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#正则校验:路径以指定路径开头且其后无斜杠

解决方案

你的需求是校验路径必须以user/folder/开头,且基础路径之后的部分不能包含斜杠(或无后续内容)。之前的正则问题在于仅匹配了基础路径后的第一个非斜杠字符,没覆盖“基础路径本身”和“后续多个非斜杠字符”的场景。

正确的正则表达式

^user\/folder\/(?:[^\/]*)$

正则说明

  • ^:锁定字符串开头,确保路径从指定基础路径起始
  • user\/folder\/:匹配目标基础路径(转义斜杠是为了在正则字符串中避免歧义,C#中也可直接写user/folder/)
  • (?:[^\/]*):非捕获组,匹配零个或多个非斜杠字符——*允许后续无内容(对应user/folder/这种有效情况),[^\/]确保后续内容不会出现斜杠
  • $:锁定字符串结尾,避免基础路径后存在隐藏斜杠或不符合规则的内容

C#代码示例

using System.Text.RegularExpressions;

string basePathPattern = @"^user\/folder\/(?:[^\/]*)$";
string[] testPaths = {
    "user/folder/text.txt",
    "user/folder/subfolder/test2.txt",
    "user/folder/",
    "user/sub1/"
};

foreach (string path in testPaths)
{
    bool isValid = Regex.IsMatch(path, basePathPattern);
    Console.WriteLine($"{path} → {(isValid ? "有效" : "无效")}");
}

运行后输出结果符合你的校验要求:

user/folder/text.txt → 有效
user/folder/subfolder/test2.txt → 无效
user/folder/ → 有效
user/sub1/ → 无效

额外提示

如果基础路径是动态可变的,记得先用Regex.Escape()方法转义路径中的正则特殊字符(如.、+等),避免匹配出错。

内容的提问来源于stack exchange,提问作者Humberto Aicardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 18:57:17