用于匹配和分组SPARQL三元组的正则表达式

时间:2017-07-10 20:55:57

标签: python regex sparql

我正在尝试编写一个正则表达式来匹配语义数据上下文中的SPARQL三元组,例如:

   ?art rdf:date ?date.
   ?art music:performer ?myPerformer.
   ?art event:place ?place. 

到目前为止,我已经能够匹配每个例子中的字符一致(第1和第3个单词开头的问号,中间单词的分号,结尾的句号): / p>

  

[^ \ w]

然而,我无法在比赛中将所有3个单词组合在一起,我在解决这个问题时缺少什么?

1 个答案:

答案 0 :(得分:2)

您需要转义问号::

>>> re.search(r'(\?\w+\s\w+:\w+\s\?\w+)', '?art rdf:date ?date.').groups()
('?art rdf:date ?date',)