使用正则expression式使用Python 3.4获取多个关键字

我在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("[AZ]+_[AZ]+_[AZ]+_[0-9A-Z]+",x) 

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

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

您可以使用它来捕获之间的variables_[AZ] 。 看演示

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

我探索了更多的select,并提出了

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

按预期工作…..