在Python中如何用正则表达式提取xml中的<p>之间的内容

作者&投稿:调彦 (若有异议请与网页底部的电邮联系)
python正则表达式提取xml中的某字段之间的字符串,求大佬指教一下~

你要提取的关键词前后的内容,有没有固定的字数或者是明显的分隔符,如果没有那单靠正则表达式做不到,这已经涉及到NLP领域了。

import rebeg_tag = r''body = xml[xml.find(beg_tag) + len(beg_tag):]pattern = r'针对(.+?)的问题'result = re.findall(pattern,body)print(result)

# 代码
html_text = '''
<p>When ES cells differentiate, they migrate out from colonies on gelatin-coated dishes, similar to the ES cells on the 
<xref ref-type="bibr" rid="pone.0000015-Rogers1">[17]</xref> and <italic>nanog</italic> ,
,<xref ref-type="bibr" rid="pone.0000015-Chambers1">[19]</xref> well-known markers for undifferentiated ES cells. </p>
<p>(A) R1 cells were cultured for 5 days in the presence of 
<xref ref-type="bibr" rid="pone.0000015-Rogers1">[1]</xref> and <italic>nanog</italic> 
<xref ref-type="bibr" rid="pone.0000015-Mitsui1">[2]</xref>, <xref ref-type="bibr" rid="pone.0000015-Chambers1">[3]</xref> various doses of LIF (0–1,000 units/ml). </p>
'''

pattern = r'(<p>.*?</p>)'
html_text = re.sub('
', '', html_text)
text = re.findall(pattern, html_text)
print(text)
# 输出
['<p>When ES cells differentiate, they migrate out from colonies on gelatin-coated dishes, similar to the ES cells on the <xref ref-type="bibr" rid="pone.0000015-Rogers1">[17]</xref> and <italic>nanog</italic> ,,<xref ref-type="bibr" rid="pone.0000015-Chambers1">[19]</xref> well-known markers for undifferentiated ES cells. </p>',
 '<p>(A) R1 cells were cultured for 5 days in the presence of <xref ref-type="bibr" rid="pone.0000015-Rogers1">[1]</xref> and <italic>nanog</italic> <xref ref-type="bibr" rid="pone.0000015-Mitsui1">[2]</xref>, <xref ref-type="bibr" rid="pone.0000015-Chambers1">[3]</xref> various doses of LIF (0–1,000 units/ml). </p>']


建议用python BeautifulSoup直接对xml进行解析吧,都不要正则匹配!

直接用python的库读XML不是更方便


在python中,如何表示字符串?
在Python中,双引号("")和单引号('')都可以用来表示字符串。它们的主要区别在于:1.引号嵌套方便使用双引号来定义一个字符串,可以在其中包含单引号,反之亦然。例如:"It'salovelyday!"或者'The"Python"languageisamazing!'点击学习大厂名师精品课2.转义字符在字符串中,有一些特殊字符需要使用转义...

python编程,如何用循环计算50至100中偶数之和。
6、您可以使用以下代码来计算1到50之间所有奇数的和:这段代码使用了一个循环来遍历1到50之间的数字,并使用if语句来检查数字是否为奇数。如果是奇数,就将它添加到sum变量中。最后,打印出sum变量的值。用python计算200以内的所有偶数以及他们的和怎么写啊求大神解答1、只是计算的只是100以内,这与题主...

如何在Python中调用C\/C++函数
接下来就是整理得到的文章,如有描述错误的地方,还请指出,我去修改。在工作中,我们时常面临对Python程序的计算速度进行优化的问题。除了对算法的计算复杂度进行优化,直接对程序进行优化也是一种有效方法。本文主要介绍如何在Python中调用C\/C++函数以及两者之间的传参方法,由此加快Python程序的运行速度。Py...

python怎么定义函数
如数字、字符串、列表等。上述的`add_numbers`函数就是通过`return`语句返回两个数的和。如果不写`return`语句或者`return`后面没有值,那么函数会返回`None`。通过以上四点,我们可以清楚地了解Python中如何定义函数以及函数的基本用法。希望这个回答能够帮助你理解Python中函数的相关知识。

python如何导入图片
导入Python中的图片资源主要有两种方法:1. 直接从源图片导入 首先,确保图片文件(如"images\/head.jpg")位于你的项目文件夹内的images文件夹中。在你的Python代码中,使用QLabel的setPixmap()或pixmap参数,如:`self.label1 = QLabel(self) self.label1.setPixmap(QPixmap(r"images\/head.jpg"))...

如何运用python中的字典?
字典属于python中的一种数据结构,它是由键值对(key=value)组成的,其中‘key‘是唯一的不可变的。而值是可变的,且可以取任何数据类型。在python编程中经常使用到字典,运用好字典可以时我们在编程中更加轻松。那么如何使用字典呢,今天小编就个大家介绍下字典的几种简单使用方法。打开PyCharm,右键点击...

如何在Python中求平均数
方法一:使用sum()函数和len()函数点击学习大厂名师精品课这是Python中最简单的一种方法来求平均数。可以使用Python的sum()函数将列表或数据中的元素求和,然后使用len()函数求出元素数量,最后将总和除以元素数量即可得到平均值。方法二:使用statistics库Python中的statistics库提供了多种统计学函数,比如...

在Python中面向对象该如何编程
下面就来了解一下如何在Python中进行对象编程。一.如何定义一个类在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法。1.什么是面向对象面向对象(oop)是一种抽象的方法来理解这个世界,世间万物都可以抽象成一个对象,一切事物都是由对象构成的。应用在编程中,是...

如何在python中编写人工智能算法?
2.接下来,你需要下载Python人狗大战的代码。你可以在GitHub上找到该项目的代码,并将其下载到本地。3.打开终端,进入Python人狗大战的代码目录。在终端中输入pythonmain.py命令,即可运行游戏。4.游戏开始后,你需要编写人工智能算法来控制你的狗。你可以在代码中找到AI.py文件,并在其中编写你的算法。

python如何运行?
4. 想要退出Python交互式环境,可以输入"exit()"并回车,或者在Linux或Mac上使用Ctrl-D快捷键,在Windows上使用Ctrl-Z快捷键。5. 要运行一个Python脚本,请在命令行终端中输入"python 文件名.py",其中"文件名.py"是你想要运行的Python脚本的名称。例如,如果你想要运行一个名为"test.py"的脚本,...

杂多县13777901166: python怎么根据正则表达式提取指定的内容 -
能委盐酸: python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事.下面演示了在python里,通过正则表达式来提取符合要求的内容.实例代码: import re# 正则表达式是极其强大的,利用正...

杂多县13777901166: Python怎么用正则表达式提取字符串中的数字和子字符串 -
能委盐酸: Python用正则表达式提取字符串中的数字和子字符串 import re re.findall("\d+",字符串)

杂多县13777901166: python正则表达式,怎么提取列表中带有指定字符的字符串? -
能委盐酸: Alist=['A_rig','B_obj','F_rig','H_obj','T_rig',] B=[] for each in Alist: if 'obj' in each: B.append(each) print(B)

杂多县13777901166: 如何提取使用正则表达式在Python中的文本信息 -
能委盐酸: # coding=utf-8 import re pattern = re.compile('abc') # 正则 print(pattern.findall('abcdefghancabc')) # 提取符合正则的文本运行结果:['abc', 'abc']更多用法可以参考官网文档

杂多县13777901166: python 正则表达式提取字符串 -
能委盐酸:>>> str_ = 'a100b30\thttp://aa.com/aaaa.html\n' # 'str'是内建方法,不宜做变量名 >>> import re >>> re_str = '.*\t(.*)\n' >>> re_pat = re.compile(re_str) >>> search_ret = re_pat.search(str_) >>> if search_ret:search_ret.groups() ('http://aa.com/aaaa.html',)简单的呢,就这样. Python文档中对正则讲的挺好的. 如果要准确匹配URL,网上有很多这样的正则,我没用过,就不多说了.

杂多县13777901166: 请问python编程中怎么用正则表达式来编写一个程序,从而判断输入的数是否为浮点数.求高手指教. -
能委盐酸: 1. 程序如下: import re number = str(input("Please input a number:")) pattern = re.compile(r'^[-+]?[0-9]+\.[0-9]+$') match = pattern.match(number) if match:print "Number is a float." else:print "Number is not a float." 2. 关于这个正则表达...

杂多县13777901166: python正则表达式 从一行汉字中提取出数字 -
能委盐酸: 描述的不是特别清楚 .re.sub("(?isu)省份_\s+", "省份", your_utf8_string)上面应该可以的. 当然也可以变型,比如下面 re.sub(u"(?isu)省份_\s{2}", u"省份", your_unicode_string)

杂多县13777901166: python怎么用正则表达式提取中文? -
能委盐酸: 1、字符串line='\ufeffD0002044\x01大数据\x01数据分析\x01技术\x01工具\x01应用\n' 想提取出其中的“大数据”,“数据分析”,“技术”,“工具”,“应用”这些中文,用了正则表达式: >>> pat2='\x01(.*?)' >>> rs=re.compile(pat2).findall(line) >>>...

杂多县13777901166: python如何利用正则表达式提取“公告费二百六十元”中的二百六十元 -
能委盐酸: 如果提取的标本中,都是以 公告费XXXXX元 的固定形式,可以用正则表达式:公告费(.*?)元 示例代码:import re matches = re.match("公告费(.*?)元","公告费二百六十元") print(matches.group(1))

杂多县13777901166: python,如何用正则表达式提取字符串中多个""之间的字符 -
能委盐酸: 我通常都是用比较笨的办法. exp=re.compile('(?isu)"([^"]+)') results=exp.findall(data) 结果都在results里面了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网