使用正则表达式使用python 3.4获取多个关键字

时间:2015-02-11 08:39:47

标签: python regex excel

我在Windows 7中使用python 3.4。 我有excel表格,其中每个单元格中都有数据。 数据类型不同。有两个示例: - "Qwert A_B_C_1 uiop""Qwert A_X_Y_Z uiop"

总而言之,我必须提取以CAPS编写的关键字,其中紧接着第一个单词后面的下划线。一旦遇到空白,提取应该停止

我尝试过这样的事情但是

x =  "QWERT A_B_C_1 UIOP"
se = re.findall("[A-Z]+_[A-Z]+_[A-Z]+_[0-9A-Z]+",x)

但它不适用于不同类型的关键字。

2 个答案:

答案 0 :(得分:1)

[A-Z]+(?:_[A-Z]+)*_[A-Z0-9]+

您可以使用它来捕获中间的变量_[A-Z]See demo

import re
p = re.compile(r'[A-Z]+(?:_[A-Z]+)*_[A-Z0-9]+')
test_str = "QWERT A_B_C_1 UIOP\nQwert A_X_Y_Z uiop"

re.findall(p, test_str)

答案 1 :(得分:0)

我探索了更多选项并想出了

lst = re.findall(' \ S + _ \ S +',test_str)

按预期工作.....