2016-09-14 59 views
0

好了,所以我有输入的正则表达式的一组中捕捉多个数字

textsem:Predicate xmi:id="1695" sofa="1" begin="67" end="71" relations="1869 1879 1889" frameSet="lead.03" 

& &

textsem:Predicate xmi:id="1709" sofa="1" begin="135" end="142" relations="1842 1852" frameSet="lead.03" 

形式我想提取仅使用正则表达式的关系,并追加值列表。

我使用正则表达式是:

(relations=)(")(\d+\s*)+(") 

然而,当我尝试添加组(3)进入我的列表它只是在捕捉每一行的最后一个值。即在上面的示例输入中,它仅分别获得1889年和1852年,我不知道为什么。任何帮助表示赞赏。

谢谢!

回答

0

阿答案是封闭+量词的组中的组3,即

(relations=)(")((\d+\s*)+)(") 

谢谢!

+0

使用:'relations =“((?:\ d + \ s *)+)”' – anubhava

+0

我发布的正则表达式捕获我需​​要的正则表达式。使用关系=“((?:\ d + \ s *)+)”有什么好处吗? – jdv12

+2

你有不必要的组,但你只需要一个组。 – anubhava