Python Regex, чтобы найти строку в двойных кавычках внутри строки

Код в python с использованием регулярного выражения, который может выполнять что-то вроде этого

Input: Regex should return "String 1" or "String 2" or "String3" Output: String 1,String2,String3 

благодаря

Вот вам все, что вам нужно сделать:

 def doit(text): import re matches=re.findall(r'\"(.+?)\"',text) # matches is now ['String 1', 'String 2', 'String3'] return ",".join(matches) doit('Regex should return "String 1" or "String 2" or "String3" ') # result: 'String 1,String 2,String3' 

Как отметил Ли-аунг Ип: (я почти цитирую)

.+? это «не жадная» версия .+ . Это делает регулярное выражение совпадающим с наименьшим количеством символов, которое оно может, вместо большинства символов, которые он может. Жадная версия .+ Даст строку 1" or "String 2" or "String 3 ; не-жадная версия .+? 'String 1, String 2, String3'

Кроме того (Johan говорит снова), если вы хотите принять пустые строки, измените .+ .* . Звезда означает ноль или более – плюс означает, по крайней мере, один.