- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Regex.IsMatch() 查找字符串和模式之间的匹配项。我构建了正则表达式并使用 regex101.com 对其进行了测试,它工作正常。现在的问题是Regex.IsMatch(filename, curSetting.RegExMatch.ToString());
返回真curSetting.RegExMatch.IsMatch(filename))
对相同的文件名返回 false。谁能解释一下这有什么不同,它们之间有什么区别?
RegExMatch
是我的 curSetting
对象的正则表达式成员。我的测试数据是 Pattern is
Gen(?!.*(?:erallog))(?<SerialNo>.+?)-(?<Year>(?:\d{2}))(?<Month>\d{2})(?<Day>\d{2})(?<Other>.*?\.log)
字符串是 1_GeneralLog1370013-170403.log
。
最佳答案
很明显你的curSetting.RegExMatch
使用 RegexOptions.IgnoreCase
编译标志:(?!.*(?:erallog))
不区分大小写处理并匹配 eralLog
在你的1_GeneralLog1370013-170403.log
输入字符串,因此否定先行模式找到一个匹配项并使整体匹配失败。
因此,有 2 种出路(取决于您的需要):
RegexOptions.IgnoreCase
从正则表达式对象初始化或添加不区分大小写的内联选项 (?i)
进入模式:
(?i)Gen(?!.*(?:erallog))(?<SerialNo>.+?)-(?<Year>(?:\d{2}))(?<Month>\d{2})(?<Day>\d{2})(?<Other>.*?\.log)
关于c# - Regex.IsMatch 在 C# 中返回两个不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43735268/
我正在使用 lodash用于比较以下两个对象: obj1 = { "_id": "57767", "Re": { "PropertyTypes": [
我为缓存扩展编写了测试。我想按模式从缓存中删除。 a) 在这个例子中测试失败 [Test] public void Should_found_by_pattern() {
我知道有很多类似的问题,但这是特定于我的正则表达式的。我正在尝试查看字符串中是否有任何 html。 Regex tagRegex = new Regex(@"]+)[^>]*>.*?") if(tag
我正在尝试查找遵循“char 'h' 后跟一位或多位数字”模式的文件,例如 h0、h1、h22 但我也得到“h22 cco”和 hhh0 如何解决这个问题 files = new List((from
我正在对一些转义字符串进行匹配比较: Regex.IsMatch("\\Application.evtx", "DebugLogs\\ConfigurationServices.log"); 我不明白
我一直在努力解决一个奇怪的问题。我有一组正则表达式模式,用于匹配和阻止针对我网站的黑客攻击。 有一种特定的模式非常常见,但是由于某种原因,我针对它的模式并不总是与传入的 url 匹配。 如果我手动单步
我有一个列表,例如: Type [data] Device Type [data] Pin type [data] 我试图只搜索类型 [data] 而不是设备类型或 Pin 类型。请注意 [data]
我尝试使用正则表达式来检查字符串是否仅包含:0-9、A-Z、a-z、\、/或 -。我使用了 Regex validator = new Regex(@"[0-9a-zA-Z\-/]*"); 无论我引入
我有一个小函数,用于在用户取消编辑后验证 StringGrid 中的列。 void validateColumn(int column, const UnicodeString regexp, TSt
谁能告诉我以下提到的正则表达式中的错误: 正则表达式:@"^(tcm:\d+-\d+)" 输入字符串:tcm:12-123a6 问题:据我所知,\d 应该只匹配数字。输入字符串中有'a'。它仍然匹配输
我有以下代码可以正常工作,但我需要用变量替换站点地址... string url = HttpContext.Current.Request.Url.AbsoluteUri; // Get the
我有以下代码, filter="search.ismatch('Paris\-l''Hopital*', 'DestinationAddress/City', 'full', 'all')" 此过滤器
我期待下面的代码返回 Chris Davis 和 Mike Trout。它只返回 Mike Trout。是否无法匹配多个值?请记住,我最终需要匹配 30 多个值。我也尝试过使用indexOf,但它的扩
这个问题已经有答案了: Regex doesn't work in String.matches() (9 个回答) 已关闭 5 年前。 原始正则表达式:[v]\d+?\.\d 捕获字符串中的“v{N
我有一个很长的文本 (50-60 KB),我需要针对它运行几个正则表达式(总共大约 100 个规则)。然而,这太慢了,以至于它基本上不起作用。 我所做的只是围绕规则创建了一个循环,其中每个规则执行 R
这是我的代码的摘录: string[] myStr = { " Line1: active 56:09 - tst0063, tst0063",
我正在使用 new Regex("(?m)^\S+ [A-Z]{1,3}$").IsMatch(sStringToCheck) 检查多行字符串。 我的问题是,它似乎只验证字符串的最后一行。 此列表通过
是的,这是另一个 .net 正则表达式问题:)(请原谅导致实际问题的长篇华夫饼) 我允许用户使用简单的日期/时间宏来快速输入日期(他们不需要日期选择器) 例如他们可以输入: d +1d -2h 这将为
我编译的代码: namespace TestRegExp { class Program { static void Main(string[] args)
我正在尝试使用以下正则表达式匹配可以包含任意数量的数字字符或小数点的字符串: ([0-9.])* 下面是一些用于测试正则表达式的 C# 代码: Regex regex = new Regex("([0
我是一名优秀的程序员,十分优秀!