Python:从列表中删除/筛选等号
快速提问,因为我被困住了,似乎无法进一步提问 我的问题是: 我在一个数据集中工作,从XML转储中提取Wikipedia页面的每个节名。我提取文本,从文本中,每一部分都通过以下方式给出: ==节名== 但是,也有一些我不想处理的小节,这些小节是通过 ==节名=== 目前我正在使用正则表达式从文本(pagetext)中筛选节 但结果是,这些小节也包含在我的章节列表中。问题:如何从章节列表中筛选这些小节,以便仅从文本中检索章节 我用过这个列表,但不起作用Python:从列表中删除/筛选等号,python,list,substring,Python,List,Substring,快速提问,因为我被困住了,似乎无法进一步提问 我的问题是: 我在一个数据集中工作,从XML转储中提取Wikipedia页面的每个节名。我提取文本,从文本中,每一部分都通过以下方式给出: ==节名== 但是,也有一些我不想处理的小节,这些小节是通过 ==节名=== 目前我正在使用正则表达式从文本(pagetext)中筛选节 但结果是,这些小节也包含在我的章节列表中。问题:如何从章节列表中筛选这些小节,以便仅从文本中检索章节 我用过这个列表,但不起作用 sections = [section for
sections = [section for section in sections if section[0] == (r"^=")]
非常感谢您的帮助:)非常感谢
re.M
,以便表达式可以锚定在行的开头sections = re.findall("^==([^=].*)==", pagetext, re.M)
如果周围的文字完全是任意的,您可能必须求助于:
re.findall(r')(?这仍然会找到由三个“=”符号包围的部分。要清楚,您是直接使用正则表达式处理XML,还是先将XML转换为其他内容?不,首先我处理XML以到达标记,并尝试在该文本标记中查找部分
sections = re.findall("^==([^=].*)==", pagetext, re.M)
re.findall(r'(?<!=)==(?!=)(.*?)(?<!=)==(?!=)', pagetext)
# (?<!...) only matches if not preceded by ...
# (?!...) only matches if not followed by ...
# (.*?) the captured group itself, anything matched non-greedily