re = /(\[)(note)(\])((?:.|[\r\n])*?)(\[)(place)(\])((?:.|[\r\n])*?)(\5)(\/)(\6\7)((?:.|[\r\n])*?)(\1\/\2\3)/
str = 'å°æ˜Žåœ¨[place]å°ç£[/place]耶,[note]å°æ˜Žåœ¨[place]å°åŒ—[/place]çš„
[place]å—æ¸¯[/place]附近[/note],然後å°çŽ‹ä¹Ÿåœ¨[place]å°ç£[/place],
[note]å°çŽ‹åœ¨[place]高雄[/place][/note],兩人è·é›¢å¾ˆé 。
[note][place][/place][/note]'
# 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