我正在使用红宝石 1.9.2
string = "asufasu isaubfusabiu safbsua fbisaufb sa {{hello}} uasdhfa s asuibfisubibas {{manish}} erieroi"
现在我必须找到 {{anyword}}
它会出现多少次以及带有花括号的名称。
阅读正则表达式后
我在用
/{{[a-z]}}/.match(string)
但它每次都返回零。
我正在使用红宝石 1.9.2
string = "asufasu isaubfusabiu safbsua fbisaufb sa {{hello}} uasdhfa s asuibfisubibas {{manish}} erieroi"
现在我必须找到 {{anyword}}
它会出现多少次以及带有花括号的名称。
阅读正则表达式后
我在用
/{{[a-z]}}/.match(string)
但它每次都返回零。
您需要将 a 附加*
到[a-z]
模式以告诉它匹配{
s 内的任意数量的字母,然后用于scan
获取字符串中所有匹配项:
string.scan(/{{[a-z]*}}/)
=> ["{{hello}}", "{{manish}}"]
要获得匹配的次数,只需获取结果数组的大小:
string.scan(/{{[a-z]*}}/).size
=> 2
正则表达式匹配 Web 应用程序Rubular可以成为进行实时正则表达式解析的非常有用的工具。