正则表达式检查上一行

时间:2009-11-13 10:56:16

标签: c# .net regex

使用正则表达式(在c#.net中)是否可以检查字符串的上一行?

例如,我需要选择前一行不是一系列星号的字符串(上一行:******

2 个答案:

答案 0 :(得分:5)

(?m)^(?<!^\*+\r?\n).+

(?m)启用了多行模式,因此^可以匹配行的开头。 lookbehind检查前一行;如果成功(也就是说,看到一行星号),.+会消耗当前行。

答案 1 :(得分:1)

您可以使用RegexOptions.MultiLine,然后匹配以下内容:

(?<!^\*+$\r?\n?.*)foo

仅当前一行不包含星号时才匹配“foo”。