have Repetition match the minimum by adding a question mark suffix.
def show_regexp(a, re)
if a =~ re
"#{$`}<<#{$&}>>#{$'}"
else
"no match"
end
end
a = "this is a test"
show_regexp(a, /\w+/)
show_regexp(a, /\s.*\s/)
show_regexp(a, /\s.*?\s/)
show_regexp(a, /[aeiou]{2,99}/)
show_regexp(a, /mo?o/)
Related examples in the same category
1. | Repetition | | |
2. | use part of the current match later in that match allows you to look for various forms of repetition. | | |
3. | use back references to match delimiters. | | |
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 | | |