c# 正则表达式模式

标签 c# regex

类似于我昨天的问题: C# Regex Pattern Conundrum

同样的问题,不同的正则表达式模式。在 http://sourceforge.net/projects/regextester/ 中测试时,正则表达式模式返回所需的匹配项和 http://www.RegexLib.com但是,当在 .NET 中执行该模式时,不会返回任何匹配项。

string SampleText = @"\r\n99. Sample text paragraph one.\r\n100. Sample text here paragraph two.\r\n101. Sample text paragraph three.\r\n";
string RegexPattern = @"(?<=\\r\\n\d+\.\s)([^.]+?)here.*?(?=\\r\\n)";
Regex FindRegex = new Regex(@RegexPattern, RegexOptions.Multiline | RegexOptions.Singleline);
Match m = FindRegex.Match(SampleText);

所需的匹配项是“此处为第二段的示例文本。”

与昨天一样,我不确定问题是我的正则表达式模式还是我的代码。

最佳答案

您还需要转义特殊的正则表达式字符:

string RegexPattern = @"(?<=\\r\\n\d+\.\s)([^.]+?)here.*?(?=\\r\\n)";

或者:

string RegexPattern = "(?<=\\\\r\\\\n\\d+\\.\\s)([^.]+?)here.*?(?=\\\\r\\\\n)";

不要忘记 - 您处于 C# 字符串上下文中,因此您需要确保将正确的字符串传递给正则表达式引擎。

关于c# 正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15297880/

相关文章:

C# : How to detect if screen reader is running?

c# - 为什么这个 List<>.IndexOf 代码比 List[i] 和手动比较快得多?

html 模式 ="[A-Za-z]{50}"表示有效输入无效

python - 正则表达式模式仅用一项替换列值

c# - 排队函数不执行出队

c# - 回发后asp.net动态添加用户控件保存值

Java正则表达式换行符与制表符或空格匹配错误

php - 正则表达式也匹配重音字符

c# - 如何从源代码 View (aspx) 在 C# 中为来自按钮的事件添加事件处理程序

javascript - 在固定字符串后获取单位数字?