python正则表达式提取xml中的某字段之间的字符串,求大佬指教一下

如何在xml中提取
***** (表示内容可选)+‘ ‘ 发明’/‘提出’/‘提供’+***** (表示内容可
选) )+’ 方法’/‘ ‘ 算法’
***** (表示内容可选)+‘ ‘ 克服’/‘具有’/*****/+***** (表示内容可选)
+‘缺陷’
***** (表示内容可选)+‘ ‘ 提升’/‘具有’/*****/+***** (表示内容可选)
+'性能'
中的***代表的文字
第一次做xml,实在不会。希望有大佬指教一下。谢谢
我采取的代码
import xml.dom.minidom
import re
#打开xml文档
dom = xml.dom.minidom.parse('test.xml')
#得到文档元素对象
root = dom.documentElement
cc=root.getElementsByTagName('base:Paragraphs')
c1=cc[0]
c11 = r'针对(.+?)的问题'
result = re.findall(c11,c1)
print(result)

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

。。错误纠正了。
大神能指导一下怎么提取多段正则表达式的循环提取吗
如题

追答

你能具体描述一下你的问题吗

追问

‘ 发明’/‘提出’/‘提供’+***** (表示内容可
选) )+’ 方法’/‘ ‘ 算法’
‘ 克服’/‘具有’/*****/+***** (表示内容可选)
+‘缺陷’

类似这样提取文字。比如:在‘提升‘,‘ 发明’,‘提出’和‘性能’之间的文字,全都提取出来。或者,‘具有’和‘性质’之间的所有文字也提取出来
同一边的关键词用 | 来隔开吗?

追答pattern1 = r'(?:发明|提出|提供)(.+?)(?:方法|算法)'
pattern2 = r'(?:克服|具有)(.+?)缺陷'

温馨提示:内容为网友见解,仅供参考
无其他回答

在Python中如何用正则表达式提取xml中的之间的内容
代码html_text = '''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-C...

python 正则表达式如何截取字符串中间的内容
示例代码启动ipython先导入re模块 这里我用到了findall全局匹配,分为两部分,前面是正则,后面是要匹配的字符串 得到一个元祖 通过变量a 就能打印出想要的字符串

python 正则表达式如何截取字符串中间的内容
在Python中,要截取字符串中间的内容,你可以利用正则表达式和re模块。首先,确保已导入re模块,然后通过re模块提供的全局匹配功能,如findall方法来实现。以下是一个示例代码片段:pythonimport re# 定义一个字符串和正则表达式模式input_string = "这是一段需要截取中间内容的字符串"pattern = r"^(.*?

python正则表达式截取一段内容
print(re.findall(r'>(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}).*?(.*?)

python 如何提取特定字符中间的内容
解题思路是用正则表达式匹配带@的单词。第一:正则表达式匹配 @ 开头,后面跟随多个英文字母,匹配到字符串后,把 @ 替换为空,就可以得到用户名.第二:正则表达式用零宽断言,首先匹配一个位置,它前面是 @,后面是字母:

正则表达式获取两个字符之间的字符串
Matcher m = r.matcher(line);你想要的是 m.group(1),第一个括号里面的。又及,group(0) 是包含了 <bbb> 和 <aaa> 的,不过有的语言不支持 group(0),好像 python 就不支持(印象模糊)

请问python中正则表达式如何获取字符串中间指定内容
输入百度贴吧地址,及当期目录将要新建的文件夹名称。即可下载并存入新建文件夹中。#算是自己这几天来写的第一个小程序吧。不过程序还存在几个bug#比如:url地址不合法,同名的文件夹已经存在等问题没有处理#其中只有:url地址匹配用到了一点re的内容。#说实话,Python真是简单,你所想要的功能基本都有...

python 正则表达式 我想找到字符串中成对匹配的数据 请指教
针对你所给的示例字符串,貌似无法一次性地提取出后面的那个abc的,只能提取出前面的ammmmmde:可以这样写:>>> re.findall(r'(?:\\d+)([a-zA-Z]+)', 'sssa 123ammmmmde234abc aaaaa 123ammmmmde234abc llll')['ammmmmde', 'abc', 'ammmmmde', 'abc']原因在于:正则从左往右查找,...

python 查找xml 文件看是不是有某一个指定字段
有两种:1、正规方法是用载入第三方xml库(如lxml)是用xpath查找。2、快捷方式使用正则表达式查找 import re find_node = "node1"p = "<%s.*>.*<\/%s>"%(find_str,find_str)if re.search(p,file("tgt.xml").read()):print "包含指定字段"else:print "不包含指定字段"

用python正则表达式,截取一段字符串中以“[”开头,以“]”结束的字符串...
import rea = "asdf[abc123]我们"g = re.search("\\[.*\\]", a)if g: print(g.group())else: print("") 看看这个是不是你想要的效果,最后打印的是[abc123],如果你[]不想要,可以在匹配完成后手动去掉字符串的第一个和最后一个字符 ...

相似回答