您好,我想提取该标签的内容
<Sentiment int=6>Deep injustice</Sentiment>
许多文本句子(Here)。
df['text'].str.extractall(r'^<(?P<Sentiments>\w+).*[int]?.*(?P<Intensite>\d?\d)>(?P<Expression>[a-zA-Z]*?.*[a-zA-Z]*)<')
我的代码只产生其中的几个(标签)。为什么不提取其他内容?
Sentiments Intensite Expression
match
405 0 Disagreement 3 Bizarre contradiction
921 0 Satisfaction 5 La plus simple
2549 0 Dissatisfaction 3 Ne me contentant pas
答案 0 :(得分:1)
您可以使用
df['text'].str.extractall(r'<(?P<Sentiments>\w+)\s+int=(?P<Intensite>\d+)>(?P<Expression>[^<]*)')
请参见regex demo。
详细信息
<
-一个<
字符(?P<Sentiments>\w+)
-组“情感”:1个或多个字母,数字,下划线\s+
-超过1个空格int=
-子字符串(?P<Intensite>\d+)
-组“强度”:1个以上数字>
-一个>
字符(?P<Expression>[^<]*)
-组“表达式”:除>
以外的0个或多个字符