use back references to match delimiters. : Regexps Repetition « Development « Ruby Ruby Development Regexps Repetition use back references to match delimiters.
def show_regexp(a, re)
if a =~ re
"#{$`}<<#{$&}>>#{$'}"
else
"no match"
end
end
show_regexp('He said "Hello"' , /(["']).*?\1/) # He said <<" Hello">>
show_regexp("He said 'Hello'" , /(["']).*?\1/) # He said <<' Hello'>>
Related examples in the same category 1. Repetition 2. have Repetition match the minimum by adding a question mark suffix. 3. use part of the current match later in that match allows you to look for various forms of repetition. 4. A pattern that matches a string containing the text Perl or the text Python 5. Use parentheses within patterns,just as you can in arithmetic expressions 6. You can also specify repetition within patterns. 7. match one of a group of characters within apattern 8. Match a time such as 12:34:56 9. Match Perl, zero or more other chars, then Python 10. Match Perl, a space, and Python 11. Match Perl, zero or more spaces, and Python 12. Match Perl, one or more spaces, and Python 13. Match Perl, whitespace characters, then Python 14. Match Ruby, a space, and either Perl or Python 15. The match operator =~ can be used to match a string against a regular expression. 16. The part of a string matched by a regular expression can be replaced 17. Replace every occurrence of Perl and Python with Ruby