re = /Member:\n(?: .*\n|\n)*?(^ *Security ID:[^$\n]*$)/m
str = 'A member was added to a security-enabled global group
Subject:
Security ID: ...xxx
Account Name: ...
Account Domain: ...
Logon ID: ...
Member:
a line <--
a second line, indented by two spaces
Security ID: ...xbfdfdh
other line
Account Name: ...
Group:
Security ID: ...
Group Name: ...
Group Domain: ...
Additional Information:
...
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html