Python:匹配字符串中的整个单词并按找到的顺序追加到列表中

2024-05-16 09:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

真的需要帮助请-

我有一份清单:

mylist = "Cell Contents (Column Percentage, Counts, Statistical Test Results), Statistics (Overlap)"

我想在mylist中找到以下单词:

^{pr2}$

一旦找到,我想把这些词按照它们在mylist中出现的顺序添加到一个新列表中。因此,新的清单应改为:

newlist = ['Column Percentage','Counts','Statistical Test Results']

我知道如何使用for循环和in查找单个单词并将其附加到新列表中,但我不太确定如何找到多个单词并按照它们在原始列表中的顺序进行追加。在

谢谢!在


Tags: test列表顺序contentscellcolumn单词results
1条回答
网友
1楼 · 发布于 2024-05-16 09:58:36

我匹配了第一对括号中的内容:

re.finditer(r'\((.*?)\)', mylist).next().groups()[0].split(', ')
['Column Percentage', 'Counts', 'Statistical Test Results']

re.finditera regular expression search

  • 第一个参数是pattern:它指示搜索括号之间的第一项
  • 注意使用?使其非贪心,以避免匹配太大。。。为了理解,移除它并测试
  • 我们想捕捉括号内的表达式,这就是为什么我们有。。。模式中的括号。注意字符串中匹配的转义括号\(\)与未转义的捕获括号{}和{}之间的区别。在

finditer返回一个迭代器,它只有在我们使它与next一起运行后才有效。现在我们想要获取字符串的捕获部分:这是groups方法([0]获取第一个也是唯一一个,但是可以使用正则表达式捕获多个部分)。在

然后我们就把结果分成昏迷,我们就完了!在

相关问题 更多 >