Как вы сопоставляете что-то, окруженное 'foo' и 'bar', не сопоставляя foo и bar? - PullRequest
1 голос
/ 23 февраля 2010

в отличие от регулярных выражений: 'foo.+bar'

Ответы [ 4 ]

5 голосов
/ 23 февраля 2010

Использовать группу:

foo(.+?)bar

Тогда вы сможете ссылаться на группу как $1 или \1, в зависимости от языка и того, что вы делаете с ним.

Как всегда, позвольте мне порекомендовать Regular-Expressions.info для изучения всех регулярных выражений.

2 голосов
/ 23 февраля 2010

В качестве альтернативы можно использовать lookaround, если используемая вами разновидность регулярного выражения (которую вы не указали) ее поддерживает. .NET, Python do, Ruby и JavaScript не (полностью), например:

(?<=foo).+(?=bar)

соответствует любому количеству символов, если им предшествует foo, за которым следует bar.

1 голос
/ 23 февраля 2010

Просто используйте:

/foo(.+)bar/
0 голосов
/ 23 февраля 2010

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

foo(.+?)bar

или

foo(.*?)bar

Второй будет работать, даже если между foo и bar ничего нет

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