如何从一开始就获得所有重复的正则表达式模式?

How to get all repeated regex patterns by beginning?

已经有一些服务器配置:

1
((100010,test1.com,((Method,is,INVITE),(To,is,"0000000000*")),(("Redirect to","ccincoming#[email protected]"))),(100010,test2.com,((Method,is,INVITE),(To,is,"00000000000*")),(("Redirect to","ccincoming#[email protected]")),"some text"),(100010,test3.com,((Method,is,INVITE),("Submit Address","is not","LOCAL [0.0.0.0]*"),(Authenticated,is,"*@test3.com")),(("Redirect to","ccincoming#[email protected]"),("Discard Rules"))),(100000,sometext,(("Submit Address",is,sometext)),(("Redirect to","ccincoming#pbx@sometext"),("Discard Rules"))),(100000,sometext,((Method,is,INVITE),(To,is,"00000000000*")),(("Redirect to","ccincoming#[email protected]"))))

需要获取每个以"((1000)"开始,并在下一个开始处结束的模式。

尝试过" /(\\\\(1000.*\\\\)),\\\\(1000/gU"。但是它只能得到奇数个匹配项(一次)。

因此,需要获取此信息:

  • (100010,test1.com,((Method,is,INVITE),(To,is,"0000000000*")),(("Redirect to","ccincoming#[email protected]")))

  • (100010,test2.com,((Method,is,INVITE),(To,is,"00000000000*")),(("Redirect to","ccincoming#[email protected]")),"some text")

  • (100010,test3.com,((Method,is,INVITE),("Submit Address","is not","LOCAL [0.0.0.0]"),(Authenticated,is,"@test3.com")),(("Redirect to","ccincoming#[email protected]"),("Discard Rules")))

  • (100000,sometext,(("Submit Address",is,sometext)),(("Redirect to","ccincoming#pbx@sometext"),("Discard Rules")))

  • (100000,sometext,((Method,is,INVITE),(To,is,"00000000000*")),(("Redirect to","ccincoming#[email protected]")))

感谢您的帮助!

https://regex101.com/r/xciBIF/1


将最后一部分做为前瞻,以免影响下一场比赛:

\\(1000.*\\)(?=,\\(1000|\\)$)

演示