2013-05-03 2 views
0

Я хочу, чтобы извлечь все слова, которые появляются после последнего появления списка ключевых словRegex - как получить слова после последнего вхождения ключевых слов

моих ключевыми слов - и, или, не

примеров

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

+0

Это только три ключевых слова – Surabhi

+2

Что-то в этих строках 'input.split (/ \ b (?: И | или | not) \ b /). Pop();' –

ответ

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

The ?: просто предотвращает обратную ссылку от создаваемого. Не является строго необходимым, но немного более эффективным (ценой быть, возможно, немного менее читаемым).

0

Я думаю, что это регулярное выражение будет делать:

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

Он должен быть использован с жадным флагом, и с помощью спички. Затем получите доступ ко второй группе, полученной с совпадением.

+2

Это приведет к появлению символов пробега в 'output' – Madbreaks

+0

Спасибо, исправил ответ. – SatA

Смежные вопросы