[英]extract content between nested parenthesis
我想在ObjectUnionOf(
和ObjectUnionOf(
的第一个封闭括号之间进行提取:
<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>
从
EquivalentClasses(<http://www.ifomis.org/bfo/1.1/spanTemporalRegion> ObjectUnionOf(<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>))
我试过了:
content=content[content.find("ObjectUnionOf(")+1:content.find(")")]
但这不起作用
使用正则表达式:
import re
s = "EquivalentClasses(<http://www.ifomis.org/bfo/1.1/spanTemporalRegion> ObjectUnionOf(<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>))"
m = re.search("ObjectUnionOf\((?P<links>.*?)\)", s)
if m:
print( m.group('links') )
输出:
<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>
使用re.findall
:
import re
txt = '''EquivalentClasses(<http://www.ifomis.org/bfo/1.1/spanTemporalRegion> ObjectUnionOf(<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>))'''
print('\n'.join(re.findall(r'ObjectUnionOf\((.*)\)\)', txt)))
# <http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion>
# <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.