对照几个选项检查文本
本文关键字:几个 选项 检查 文本 | 更新日期: 2023-09-27 18:00:17
我对regex非常生疏,花了大约2个小时试图做一些应该非常简单的事情。
基本上,我想要一个regex表达式,它可以检查一堆文件名(最终目标是排除不相关的文件名——这是为了使用Cassette中的FileSearch类来排除不必要的javascipt文件)。
到目前为止,我的表述是:
(^.+'.+min.js$) | (^Microsoft.$) | (^.+'.+min.js$) | (^.+vsdoc.js$)
我试图匹配的文本(文件名)是
jquery-ui-i18n.min.js
这在Espresso中有效,但当我实际针对一些.NET代码运行它时,没有匹配项:
static void Main(string[] args)
{
System.Text.RegularExpressions.Regex reg =
new System.Text.RegularExpressions.Regex(@"(^.+'.+min.js$) | (^Microsoft.$) | (^.+'.+min.js$) | (^.+vsdoc.js$)", System.Text.RegularExpressions.RegexOptions.None);
if (reg.IsMatch("jquery-ui-i18n.min.js"))
Console.WriteLine("match");
else
Console.WriteLine("no match");
Console.Read();
}
有没有任何regex传奇人物可以向我展示光芒!?
我会使用
('.min'.js|Microsoft.|'.min'.js|vsdoc'.js)$
您的正则表达式有许多错误
(^.+'.+min.js$) | (^Microsoft.$) | (^.+'.+min.js$) | (^.+vsdoc.js$)
- - -
| | |->space would make ^ meaningless unless you use IgnorePatternWhiteSpace option
| |->instead of repeating $ in each group you can keep it outside all the groups
|->^ is not required because you only want to check the end