开发者

Regular Expression help in Ruby

Can anybody help me write a regular expression which could find all the instances of the f开发者_如何学Pythonollowing in a long string >

type="array" count="x" total="y"

where x and y could be any numbers from 1 to 100.

language is ruby.


First, since we'll use the regex for a number twice, we'll save it as its own variable. Note that the number regex is comprised of three separate pieces: one-digit numbers, two-digit numbers, and three-digit numbers. This is a good rule of thumb to use when trying to make a regex to match a range of numbers. It's easy to get it wrong otherwise (allowing strings like "07").

Once you have the number regex, the rest is easy.

number = /[1-9]|[1-9][0-9]|100/
regex  = /type="array" count="#{number}" total="#{number}"/
string.scan(regex)


This will return an array of matches

long_string.scan(/type="array" count="(?:[1-9]\d?|100)" total="(?:[1-9]\d?|100)")
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜