正则表达式匹配任何空行或以指定字符开头的任何行

时间:2010-02-04 12:42:10

标签: .net regex

鉴于以下输入......

;
; comment
; another comment
;

data
data

我正在寻找一个正则表达式,可以用来去除空白行,只返回包含“数据”的两行(但保持换行完整)。

感谢。

3 个答案:

答案 0 :(得分:3)

修改

等等,我想我理解你的意思:你只想在你的“数据”行之后保留换行符。如果是这样,请尝试:

(?m)^([ \t]*|;.*)(\r?\n|$)

一个小小的解释:

(?m)          # enable multi-line option
^             # match the beginning of a line
(             # start capture group 1
  [ \t]*      #   match any character from the set {' ', '\t'} and repeat it zero or more times
  |           #   OR
  ;           #   match the character ';'
  .*          #   match any character except line breaks and repeat it zero or more times
)             # end capture group 1
(             # start capture group 2
  \r?         #   match the character '\r' and match it once or none at all
  \n          #   match the character '\n'
  |           #   OR
  $           #   match the end of a line
)             # end capture group 2

答案 1 :(得分:1)

您可以使用空字符串替换^\s*($|;.*)来执行此操作。

答案 2 :(得分:1)

"(^;.*$) | (^[\s\t\r\n]*$)"

应匹配以半冒号或空行开头的行