Получите все строки, окруженные двойными кавычками или одинарными кавычками в соответствии с python [duplicate]

Я думаю, что когда вы определяете String, вы определяете объект. Поэтому вам нужно использовать .equals(). Когда вы используете примитивные типы данных, вы используете ==, но с String (и любым объектом) вы должны использовать .equals().

205
задан MackM 14 November 2017 в 00:56
поделиться

1 ответ

Вместо этого используйте re.findall или re.finditer.

re.findall(pattern, string) возвращает список соответствующих строк.

re.finditer(pattern, string) возвращает итератор над объектами MatchObject .

373
ответ дан Brian Burns 15 August 2018 в 22:26
поделиться
  • 1
    finditer был тем, что я искал. Я удивлен, что один возвращает объекты Match и другие строки. Я ожидал использовать функцию match_all или match_iter. – dsclose 7 December 2015 в 14:55
  • 2
    – Antoine Lizée 10 September 2016 в 22:16
  • 3
  • 4
    @Raksha - Используйте re.search в цикле. Он вернет объект Match. Вы хотите передать Match.start() + 1 в качестве аргумента pos для re.search для следующей итерации цикла. – ArtOfWarfare 31 May 2017 в 17:31
  • 5
    Если совпадение содержит более одной группы, findall вернет список совпадающих кортежей, а не список соответствующих строк. – rodorgas 12 June 2018 в 03:55
Другие вопросы по тегам:

Похожие вопросы: