当前位置:  开发笔记 > 编程语言 > 正文

正则表达式通过多行匹配

如何解决《正则表达式通过多行匹配》经验,为你挑选了1个好方法。

例如,我们有以下字符串:

Something
AnotherThing
Something AnotherThing

如果我使用RegexOptions.Singlelinepattern,Something.+?AnotherThing那么当我只想匹配第一行和第二行时会得到两个匹配项。我想使用类似的东西FirstLine#endofline##startofline#AnotherLine。所以我用:

var regex = new Regex(@"Something$^AnotherThing", RegexOptions.Multiline);

但这不起作用。我知道我可以对Singleline使用某些技巧来匹配前两行(而不是最后一行),但问题是:甚至可以在没有Singleline说明符的情况下仅在具有多行选项的情况下在精确的2行中匹配精确的两个文本?以及为什么它会像这样。



1> Saeb Amini..:

怎么样:

Something\r?\nAnotherThing

\r? 如果字符串不是来自Windows。

该选项Something$^AnotherThing不起作用的原因RegexOptions.Multiline是因为^换行符$匹配,而不是在换行符本身,所以下面的方法可以工作:

new Regex(@"Something$\r?\n^AnotherThing", RegexOptions.Multiline);

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有