ruby中重复项之间的字符串捕获

时间:2014-12-03 22:42:44

标签: ruby string

string = 'xabcdexfghijk' 

在上面的示例中,' x'出现两次。我想捕捉第一个' x'之间的所有内容。和下一个'。因此,期望的结果是一个等于' xabcdex'的新字符串。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用简单的正则表达式:/x.*?x/。这基本上意味着"匹配两个x字符之间的任何字符,尽可能少(非贪婪)"。

可以使用String#[regexp]

提取匹配的文字
string = 'xabcdexfghijk'
string[/x.*?x/] # => "xabcdex"