Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.0k views
in Technique[技术] by (71.8m points)

.net - Regular expression to match any empty line or any line starting with a specified character

Given the following input...

;
; comment
; another comment
;

data
data

I am looking for a regular expression that can be used to strip the blank lines and return only the two lines containing the "data" (but leaving the line breaks intact).

Thanks.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Edit

Wait, I think I understand what you mean: you only want to preserve the line breaks after your "data" lines. If so, try:

(?m)^([ ]*|;.*)(
?
|$)

A small explanation:

(?m)          # enable multi-line option
^             # match the beginning of a line
(             # start capture group 1
  [ ]*      #   match any character from the set {' ', ''} 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
  
?         #   match the character '
' and match it once or none at all
  
          #   match the character '
'
  |           #   OR
  $           #   match the end of a line
)             # end capture group 2

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...