如何在字符串上的标记后捕获一个单词

时间:2013-07-11 13:05:52

标签: ruby regex string

我有一个这样的字符串:"something_before cl: something_after"

cl:是我的标记,我想抓住它之后的每一个字。在这种情况下,我想要捕获字符串"something_after"。我该怎么办?

目前我这样做:commit_log.scan(/cl: .*/)[0].gsub("cl: ", "")。但是这段代码很难看,我正在寻找一种更好的方法来重写它。

1 个答案:

答案 0 :(得分:4)

用标记分割

"something_before cl: something_after".split("cl: ").last
=> "something_after"

或使用lookbehind断言

"something_before cl: something_after".scan /(?<=cl: ).*/
=> [" something_after"]