2010-10-22 4 views
0

Что было бы основным регулярным выражением, которое находит some string, если задано строка quuz="bleh" foo="some string" bar="some other string", где some string и some other string - это произвольные строки.Получение помеченного результата с регулярным выражением

+0

Вы ищете специально для 'some string' или ищете какую-либо строку между кавычками? – Welbog

ответ

1

Любая строка в кавычки:

"([^"]*)" 

Любая строка в кавычки называемых foo:

foo="([^"]*)" 

Любая строка в кавычки, обработка кавычки экранированы правильно, я. е. соответствие 2\" by 4\" в "2\" by 4\"":

"((?:\\.|[^"\\])*)" 

Во всех случаях общий матч включает в себя окружающие кавычки; группа захвата $1 будет содержать интересующую вас строку. Доступ к ней зависит от реализации вашего регулярного выражения.

1
foo="([^"]*)" 

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