[英]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.