正则表达式组不起作用
本文关键字:不起作用 正则表达式 | 更新日期: 2023-09-27 18:30:35
>我正在尝试匹配和分组(任何短语)##date##(任何短语),但val1和val2是空的。
Console.WriteLine("Subject: "+line);
Match match = Regex.Match(line, "(.)"+Regex.Escape("##date##")+"(.)", RegexOptions.IgnoreCase);
string val1 = match.Groups[1].Value;
string val2 = match.Groups[2].Value;
Console.WriteLine("Line#{0}: {1} Date: {2}", ++lineNo, val1, val2);
安慰:
Subject: http://www.website.com/url/is/masked.htm ##date## 3
Line#25: Date:
一个点不应该匹配任何东西吗?
点匹配换行符以外的单个字符。在您的情况下,它匹配##date##
之前和之后的空间。请改用以下正则表达式:
Match match = Regex.Match(line, "(.*) ##date## (.*)", RegexOptions.IgnoreCase);
这匹配了##date##
前后的整个短语,不包括两侧的单个空格。
输出:
行 #25: http://www.website.com/url/is/masked.htm 日期: 3
点匹配单个符号,在您的示例中##date##
被两个空格包围。因此,您的小组数学是space
和space
的,看起来像"什么都没有"。