正则表达式 - 从第n个单词到最后一个单词

时间:2016-03-14 13:29:08

标签: ruby regex

我正在寻找正则表达式,这使我能够在句子中找到从n到最后的单词。 我有字符串:

//a version of the query that is constructed from positional parameters
N1qlQuery queryWithParameter = N1qlQuery.parameterized("SELECT name FROM `beer-sample` WHERE name LIKE $0", JsonArray.from("%dog%"));

//let Spring Data execute the query, projecting to the String class
List<String> beerNamesContainingDog = template.findByN1QLProjection(queryWithParameter, String.class);

我想得到

Lorem Ipsum is simply dummy text of the printing

正则表达式应该如何?

谢谢。

3 个答案:

答案 0 :(得分:4)

为什么要在这里使用regexp?

n = 3
s = 'Lorem Ipsum is simply dummy text of the printing'
p s.split[n..-1] #=> ["simply", "dummy", "text", "of", "the", "printing"]
p s.split[n..-1].join(' ') #=> "simply dummy text of the printing"

答案 1 :(得分:1)

我假设给定的字符串不包含标点符号(逗号,分号,冒号,句号,问号等),并且您想要返回一个字符串(排除前两个单词和第二个单词后面的任何空格)

在构建正则表达式时,必须考虑到某些单词是收缩或被连字的事实。

@JoinColumn

答案 2 :(得分:0)

for PCRE

^\w+\s+\w+\s+(.*)

应该有效,你需要从匹配中提取子组1。如果小于3个单词,则不会匹配。