Py学习  »  Python

如何在python中从字符串中提取多个子字符串?

Abood • 4 年前 • 429 次点击  

我需要帮助从一个字符串中提取多个子字符串并将其分配给一个列表,而那些必需的子字符串具有相似的起始子字符串和结束子字符串,

例如,如果我有一个这样的字符串:“开始某物结束开始某物结束不结束”

如何提取“something”和“nothing nothing”并将其附加到列表中。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/54932
 
429 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Stefan Kögl
Reply   •   1 楼
Stefan Kögl    4 年前

你可以用 re.findall .


>>> text = 'start something something end start nothing nothing end'
>>> re.findall('start (.+?) end', text)
['something something', 'nothing nothing']

以字符串列表的形式返回字符串中模式的所有不重叠匹配项。

模式是

  • start 后跟空格
  • 这个 (
  • 这个 .
  • 这个 +?
  • 这个 ) 表示我们感兴趣的部分(组)的结尾
  • end .

将从左到右扫描字符串,并按找到的顺序返回匹配项。

组;

我们使用组,如上图所示

小组。

我们只使用一个组。

结果中包含空匹配项。