Регулярное выражение для замены кратчайшего соответствия - PullRequest
1 голос
/ 07 февраля 2012

моя строка такая sfdfdsfdsf start112matlab2336end gfdgdfgkknfkg start558899end dfdsfd

как мы можем заменить часть строки таким образом, что результат будет

sfdfdsfdsfgfdgdfgkknfkgdfdsfd

т.е. содержимое, выделенное жирным шрифтом, необходимо удалить.

Ответы [ 3 ]

19 голосов
/ 07 февраля 2012

Вам нужно использовать не жадные соответствия:

start.*?end
5 голосов
/ 07 февраля 2012

Используйте функцию замены с этим регулярным выражением /start.+?end/g, которое будет соответствовать жирным частям вашей строки.Часть g в регулярном выражении означает глобально, и, возможно, потребуется реализовать ее по-разному в зависимости от языка, который вы используете.

Ключом здесь является использование ?, которое включает не жадное сопоставление.Это означает, что совпадение потребляет минимальное количество символов, а не максимальное, поэтому будет совпадать с start до следующего, а не последнего end

0 голосов
/ 07 февраля 2012
start[1-9]+end

, если вам нужны цифры между словами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...