Извлечь строку в соответствующих кавычках - PullRequest
0 голосов
/ 24 января 2020

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

«рисует то, на что умело указали мои предшественники, самба» и «2-я детская игрушка» ...

В приведенной выше строке двойные кавычки перед краска не закрыта, потому что «2-я детская игрушка» начинает другую цитату и закрывается. Существует ли регулярное выражение, которое возвращает только совпадающие открытые и закрывающие кавычки и игнорирует незамкнутые кавычки? В этом случае я бы только вернул 2nd baby toy вместо paints to what my predecessors, samba girl’ and “2nd baby toy.

В большинстве решений для извлечения строки внутри скобок или кавычек использовалось регулярное выражение re.findall('\“(.+?)\”', _some_text), которое в моем примере выше возвращает большую часть строки.

1 Ответ

2 голосов
/ 24 января 2020

Это регулярное выражение будет делать это:

“([^“”]+)”
  • - найти начальную цитату
  • ([^“”]+) - найти все, что не является ни открывающей, ни закрывающей цитатой
  • - найти закрывающую цитату

https://regex101.com/r/lALDFZ/1

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