我使用以下正则表达式在文档中找到以字符划线短划线--
开头并以换行符/n
结尾的任何字符系列。
return @"(^--).*?(?=\r|\n)";
几乎可以工作,但只有当--
和下一个角色之间有空格时才会有效。
return @"(?:--\s).*?(?=\r|\n)
几乎可以工作,但只有当--
和下一个字符之间没有空格时才会有效。
如何检查空格是否跟随--
?
除了能力之外,我对正则表达式一无所知。我在网上找到了这两种样本模式。谢谢你的帮助。
答案 0 :(得分:1)
您需要使用\s?
来捕获0或1个空格。
在正则表达式中使用问号是为了表示前一个字符(或一组字符)的0或一个匹配将匹配,但不会超过一个。
另外,如果您希望自己学习正则表达式,请访问http://www.regular-expressions.info学习并http://www.regexpal.com练习。
答案 1 :(得分:1)
假设您正在搜索较大字符串中的子字符串并想要捕获--
和\n
之间的子字符串,您可以使用如下表达式:
--(.*)\r?\n
可以在C#中引用这样的内容:
@"--(.*)\r?\n"
如果您只是想确保字符串以--
开头并以\n
结尾,您可以使用:
(?s)^--.*\n\z