Modifier | Description |
---|---|
* | Match zero or more occurrences of the preceding character, and match as many as possible. |
+ | Match one or more occurrences of the preceding character, and match as many as possible. |
*? | Match zero or more occurrences of the preceding character, and match as few as possible. |
+? | Match one or more occurrences of the preceding character, and match as few as possible. |
? | Match either one or none of the preceding character. |
{x} | Match x occurrences of the preceding character. |
{x,y} | Match at least x occurrences and at most y occurrences. |
Consider the following code.
"this is a test $1000 and this is a test $10".scan(/\d+/) do |x|
puts x
end
The regular expression \d matches any digit.
The + following \d makes \d match as many digits in a row as possible.
This means it matches both 1000 and 10, rather than just each individual digit at a time.
"this is a test $1000 and this is a test $10".scan(/\d/) do |x|
puts x
end