2015-10-25 3 views
1

Какое регулярное выражение будет соответствовать всем, включая указанную подстроку в конце строки?Регулярное выражение для соответствия указанной подстроке до конца строки?

Например, в

"now is the time for (all) good men" 

Я хочу, чтобы соответствовать подстроку:

"for (all) good men" 

Я знаю конкретный суб-подстроку «для», который начинается то, что я хочу, чтобы соответствовать; Я не знаю, что после этого.

+0

Я не знаю, как nsregularexpression отличается от других реализаций, но попробуйте ['для всех (. *) $'] (Https://regex101.com/r/sZ0yV0/2), чтобы сопоставить и зафиксировать что-либо после " для всех ", вплоть до конца строки. Нажмите ссылку, чтобы увидеть ее/протестировать на regex101.com – TessellatingHeckler

ответ

0

Я думаю, вы просите согласовать все, начиная от заданной строки до конца строки.

Вам необходимо сопоставить все, что следует за строкой поиска, используя. чтобы соответствовать что-нибудь, и * сказать регулярное выражение ожидать любое количество Anythings, включая 0.

Итак, ваше регулярное выражение следует читать что-то вроде

/\(for all) good men.*/ 

Прямой слэш перед первой скобкой необходимо в этом потому что скобка зарезервирована в регулярном выражении, то есть она означает что-то - передняя косая черта ускользает от нее так, что она рассматривается как нормальный символ.

Черты на обоих концах рисунка являются стандартной практикой. Они вам не понадобятся в java, но вы будете использовать javascript, sed, vi и другие реализации.

Если вы спрашиваете, как в соответствии с данной строки, только если он находится в конце строки, то вы бы использовать это:

/\(for all) good men$/ 

Где $ означает конец-строки.

+0

Где в вашем ответе вы использовали «.». соответствовать чему-нибудь? Обратите внимание также на мою отредактированную версию вопроса: я знаю подзапрос, который начинает подстроку, которую я хочу сопоставить, но не знаю, что может последовать за ней. – murray

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