0

我正在使用以下正则表达式在文档中定位以字符 dash dash 开头--并以换行符结尾的任何一系列字符/n

return @"(^--).*?(?=\r|\n)";

几乎可以工作,但只有在下一个字符和下一个字符之间有空格时--

return @"(?:--\s).*?(?=\r|\n)

几乎可以工作,但只有在下一个字符和下一个字符之间没有空格时才有效--

无论空格是否跟随,我如何获得回报--

除了它的能力之外,我对正则表达式一无所知。我在网上找到了这两种示例模式。感谢你的协助。

4

2 回答 2

1

您需要使用\s?来捕获 0 或 1 个空格。

正则表达式中问号的一种用途是表示将匹配前一个字符(或字符组)的 0 个或一个匹配项,但不超过一个。

此外,如果您想自己学习正则表达式,请访问http://www.regular-expressions.info进行学习并访问 http://www.regexpal.com进行练习。

于 2013-03-13T18:57:48.383 回答
1

假设您正在搜索较大字符串中的子字符串并希望捕获其间的子字符串--\n您可以使用如下表达式:

--(.*)\r?\n

在 C# 中可以这样引用:

@"--(.*)\r?\n"

如果您只想确保字符串以开头--和结尾,\n您可以使用:

(?s)^--.*\n\z
于 2013-03-13T18:57:55.693 回答