2013-05-03 73 views
0

我想检索所有关键字正则表达式 - 关键字

我的关键字列表的最后出现之后出现的词中最后一次出现后如何检索词 - 与,或,不是

的例子

input = "tom hanks and hugh jack" 
output = hugh jack 

input ="tom hanks and hugh jack or bill bob" 
output = bill bob 

input ="tom hanks and hugh jack or bill bob not brad pitt" 
output = brad pitt 
+0

关键字可以改变吗?它们会一直是“和”,“或”,还是“不”? – talemyn 2013-05-03 18:11:20

+0

这些是唯一的三个关键字 – Surabhi 2013-05-03 18:13:20

+2

这些行中的东西'input.split(/ \ b(?:and | or | not)\ b /)。pop();' – 2013-05-03 18:15:36

回答

2
var output = input.replace(/.*\b(?:and|or|not) /, ''); 

?:简单地防止了产生的反向参考。不是绝对必要的,但稍微更高效(以可能的代价,可读性稍差)。

0

我认为这正则表达式会做:

.*(and|or|not)\s(.*) 

它必须与一个贪婪的标志使用匹配使用,并且。然后访问与匹配检索的第二个组。

+2

这将导致'输出'领先的空格字符 – Madbreaks 2013-05-03 18:16:02

+0

谢谢,修复答案。 – SatA 2013-05-03 18:24:19