仍在学习正则表达式,并且无法让我的头脑围绕前瞻概念。与我的问题类似的数据 -匹配多行直到分隔线?,假设我有以下几行由用户交给我:
0000AA.The horizontal coordinates are valid at the epoch date displayed above.
0000AA.The epoch date for horizontal control is a decimal equivalence
0000AA.of Year/Month/Day.
0000AA
[..]
所以一个非常简单的正则表达式是@^[0-9]{4}[A-Z]{2}\.(?<noteline>.*)
, where 会给我每一行。极好的。:) 但是,我想要一个前瞻(或条件?),它会查看下一行并告诉我该行是否包含没有“。”的代码。(即如果 NEXT 行匹配@^[0-9]{4}[A-Z]{2}[^\.]
尝试前瞻,我在前两行得到命中(因为下一行在代码后面有'。')但不是最后一行。
编辑:使用上面的正则表达式,或者下面提供的正则表达式给了我所有的行,但我想知道是否有一个空行(带有 AA0000 代码的行,但之后没有'.')。例如,当我到达 line 上的匹配项时of Year/Month/Day
,我想知道该行是否后跟一个空行(或没有)。(例如,对于高级示例,分组名称不是空格或空。)
编辑 2:我可能误用了“前瞻”术语。回顾 .NET 的正则表达式,我看到了一种称为交替构造的东西,但不确定是否可以在这里使用。
谢谢!
麦克风。