"foo" {
foo = "bar"
foo2 = "bar2"
foo3 = "bar3"
foo4 = "bar4"
id = "1"
foo5 = "bar5"
}
"foo" {
foo = "bar"
foo2 = "bar2"
foo3 = "bar3"
foo4 = "bar4"
id = "2"
foo5 = "bar5"
}
"foo" {
foo = "bar"
foo2 = "bar2"
foo3 = "bar3"
foo4 = "bar4"
id = "3"
foo5 = "bar5"
}
...
我有正则表达式用于通过他们的id选择这个表项,但它也会选择向前发送的所有内容,当我需要它时首先停止"}"被找到。而且我不知道如何防止这种情况。
我的正则表达式是:/^"(?P<title>[^"]*)"[^{]*{(?=(.*))(?=[^}]*\sid\s*=\s+"2"[^}])/ixsmg
答案 0 :(得分:1)
.*
耗费太多。你需要告诉它在第一场比赛时停止并告诉它匹配的基础。
^"(?P<title>[^"]*)"[^{]*{
(?=(.*?}))
(?=[^}]*\sid\s*=\s+"2"[^}])
这会让它停在第一个}
。如果你在这个字符串结构中有{}
,那么这将不起作用。