在2个子串之间找到字符串

时间:2016-02-04 08:27:36

标签: python

我有一个我阅读过的文本文件很长。每个文本文档都转换为一个单独的字符串。这些文件中带有情感标签,必须全部提取。我在python中遇到re.findall函数的问题,当与字符串一起使用时它工作得非常好,但我的字符串包含特殊字符,这就是为什么我什么也得不到。对于Ex:

string = ['yeah i\'ll get her going and and after you\'re done with your survey and stuff (00)\n<TRIGGER AFFECT="SURPRISED" SCALE="MEDIUM">oh</TRIGGER> okay (01)\n<TRIGGER AFFECT="CONFUSED" SCALE="LOW">okay</TRIGGER> ]

我必须找到<TRIGGER AFFECT="SURPRISED" SCALE="MEDIUM"></TRIGGER>之间的所有字词/单词。

match = re.findall("<TRIGGER AFFECT="SURPRISED" SCALE="MEDIUM"> (.*?) </TRIGGER>",i)
print (match)

它不起作用,我想它与<"有关,如果我使用与任何其他普通字符串相同的代码而不是它可以工作

1 个答案:

答案 0 :(得分:4)

修复引号,并删除正则表达式中输入字符串中没有匹配项的空格。使用原始字符串作为正则表达式通常也是个好主意。

match = re.findall(r'<TRIGGER AFFECT="SURPRISED" SCALE="MEDIUM">(.*?)</TRIGGER>', i)

DEMO