使用ruby正则表达式提取字符串的正则表达式

时间:2014-12-09 06:40:33

标签: ruby regex

我有一个字符串,如下所示

"The Big Bang Theory - Season 1"

我想在"- Season 1"之前提取任何字符串,这基本上是一个节目名称。如何在ruby中使用正则表达式

2 个答案:

答案 0 :(得分:0)

您需要使用如下所示的先行断言。低于正向前瞻断言,匹配必须后跟字符串- Season 1

.*(?=- Season 1)

示例:

> "The Big Bang Theory - Season 1".match(/.*(?=- Season 1)/)
=> #<MatchData "The Big Bang Theory ">
> "The Big Bang Theory - Season 1".match(/.*(?= - Season 1)/)
=> #<MatchData "The Big Bang Theory">

答案 1 :(得分:0)

此正则表达式匹配最后-

之前的所有内容
.+?(?=-)

Here it is in action