如:

http://www.domain.com/junk/target/keyword/junk

我正试图从上面的url中提取单词“target”。
到目前为止,我有以下表达式:
(?=\/).*?(?=\/keyword\/)

但是,这会从第一个斜杠('//www.domain.com/junk/target')中提取所有内容

最佳答案

您可以使用

%r{/([^/]+)/keyword/}

请参见Rubular demo(注意,如果keyword可能出现在字符串末尾,则需要在末尾添加一个替换项-%r{/([^/]+)/keyword(?:/|\z)})。
您需要的值在组1内。
Ruby demo
lnk[%r{/([^/]+)/keyword/}, 1]

图案说明:
/-斜线
([^/]+)-捕获与/以外的一个或多个字符匹配的组1
/keyword/-文字/keyword/子字符串。

关于ruby-on-rails - 正则表达式:在URL中的斜杠和匹配关键字之间找到单词,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42237515/

10-13 00:41