use back references to match delimiters. : Regexps Repetition « Development « Ruby






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