ruby Regexp中的正则表达式

时间:2012-12-14 09:38:34

标签: ruby ruby-on-rails-3 ruby-1.9 ruby-1.9.2

我正在使用ruby 1.9.2

string = "asufasu isaubfusabiu safbsua fbisaufb sa {{hello}} uasdhfa s asuibfisubibas {{manish}} erieroi"

现在我必须找到{{anyword}}

花括号

阅读Regexp

我正在使用

/{{[a-z]}}/.match(string) 

但每次都会返回nil。

2 个答案:

答案 0 :(得分:3)

您需要将*添加到[a-z]模式,以告知它与{内的任意数量的字母匹配,然后使用scan获取所有字母在字符串中出现匹配:

string.scan(/{{[a-z]*}}/)
=> ["{{hello}}", "{{manish}}"]

要获得匹配发生的次数,只需获取结果数组的大小:

string.scan(/{{[a-z]*}}/).size
=> 2

答案 1 :(得分:2)

正则表达式匹配Web应用程序Rubular对于进行实时正则表达式解析非常有用。