[英]extract content between nested parenthesis
I want to extract between ObjectUnionOf(
and the first closed parenthese coming after it: 我想在
ObjectUnionOf(
和ObjectUnionOf(
的第一个封闭括号之间进行提取:
<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>
From 从
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>))
I tried: 我试过了:
content=content[content.find("ObjectUnionOf(")+1:content.find(")")]
but it doesn't work 但这不起作用
Using Regex: 使用正则表达式:
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') )
Output: 输出:
<http://www.ifomis.org/bfo/1.1/spanScatteredTemporalRegion> <http://www.ifomis.org/bfo/1.1/spanConnectedTemporalRegion>
Use re.findall
: 使用
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.