为我的模式子串找到一个正则表达式

2024-10-01 22:41:37 发布

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

我有一个文本,我想提取两个“&;之间的所有内容”;“是的。”。这是我课文的一部分:

和;羟色胺;几年前,当南部贫困法律中心的莫里斯·迪斯发起一项写信运动,劝阻连锁书店和分销商不要囤积威廉·皮尔斯的小说《特纳日记》时,“美国大部分人认为,这位KlanWatch创始人对少数白人至上主义者的暴力行为反应过度&;羟色胺;现在,随着越来越多的白人男性瞄准并枪杀少数民族成员,迪斯失败的禁书运动虽然对大多数美国人来说仍然不合理,包括我自己,基于第一修正案的理由,并不像以前那样令人不快&;羟色胺;原因是《特纳日记》是蒂姆·麦克维、本·史密斯和洛杉矶日营枪击案嫌疑人布福德·弗罗等杀手的圣经

首先我写了re.findall("&HT;(.*)&HT;",text,re.S),但是这个返回1字符串包含第一个和第二个之间的文本;羟色胺;持续(&A);HT;。我意识到这个问题是由于这些部分是重叠的,而re.findall是用于非重叠匹配的。 然后我使用了re.findall("?=T;(.*)&H)"),但在这个示例文本中,它返回两个子字符串,如下所示:

几年前,当南部贫困法律中心的莫里斯·迪斯发起一场写信运动,劝阻连锁书店和分销商不要囤积威廉·皮尔斯的小说《特纳日记》时,“美国很多人认为,这位KlanWatch创始人对少数白人至上主义者的暴力行为反应过度&;羟色胺;现在,随着越来越多的白人男性瞄准并枪杀少数民族成员,迪斯失败的禁书运动虽然对大多数美国人来说仍然不合理,包括我自己,基于第一修正案的理由,并不像以前那样令人不快

以及

现在,随着越来越多的白人男性瞄准并枪杀少数民族成员,迪斯失败的禁书运动虽然对大多数美国人(包括我在内)仍然不合理,但基于《第一修正案》的理由,并不像以前那样令人不快

如何将文本的每一部分放置在两个“&;之间;HT;”合适吗


Tags: 文本re成员日记htamp法律男性

热门问题