加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何使用正则表达式排除目录?

发布时间:2020-12-14 05:49:42 所属栏目:百科 来源:网络整理
导读:我刚才问了一个关于使用正则表达式从特定目录中的URL中提取匹配的问题. 例如:www.domain.com/shop/widgets/match/ 给出的解决方案是^ / shop.* /([^ /])/?$ 这将返回“匹配” 但是,我的文件结构已经改变,我现在需要一个表达式,而不是在“pages”和“system
我刚才问了一个关于使用正则表达式从特定目录中的URL中提取匹配的问题.

例如:www.domain.com/shop/widgets/match/

给出的解决方案是^ / shop.* /([^ /])/?$

这将返回“匹配”

但是,我的文件结构已经改变,我现在需要一个表达式,而不是在“pages”和“system”之外的任何目录中返回“match”

基本上我需要一个表达式,它将返回以下“匹配”:

www.domain.com/shop/widgets/match/
www.domain.com/match/

但不是:

www.domain.com/pages/widgets/match/
www.domain.com/pages/

www.domain.com/system/widgets/match/
www.domain.com/system/

我一直在努力奋斗几天.

谢谢

解决方法

这只是Grahams上面很好的答案的替代方案. C#中的代码(但是正则表达式部分,无关紧要):

void MatchDemo()
{
    var reg = new Regex("(                  "   +
                        "   (w+[.])       "   +
                        "   |               "   +
                        "   (w+[/])+      "   +
                        ")                  "   +
                        "(shop[/]|w+[/])  "   +               //the URL-string must contain the sequence "shop"
                        "(match)            ",RegexOptions.IgnorePatternWhitespace);

    var url = @"www.domain.com/shop/widgets/match/";

    var retVal = reg.Match(url).Groups[5];                      //do we have anything in the fifth parentheses?

    Console.WriteLine(retVal);
    Console.ReadLine();
}

/汉斯

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读