2017-02-08 21 views
0

已经得到了一些服务器配置:如何通过开始获取所有重复的正则表达式模式?

((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#[email protected]"),("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,((方法是,INVITE),(对,就是 “00000000000 *”)),(( “重定向到”,“ccincoming#PBX @ TEST2 .COM “)),” 一些文本 “)

  • (100010,test3.com,((方法是,INVITE),(” 提交地址 “ ”不是“,” LOCAL [ 0.0.0.0] “),(Authenticated,is,” @ test3.com“)),((”Redirect到”, “ccincoming#[email protected]”),( “丢弃规则”)))

  • (100000,sometext,(( “提交地址”,就是sometext)),( ( “重定向到”, “ccincoming#PBX @ someText” 则会),( “丢弃规则”)))

  • (100000,sometext,((方法是,INVITE),(要,是,“(”Redirect to“,”ccincoming#[email protected]“)))

感谢您的帮助!

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

+0

这正则表达式的种类您使用的?它支持lookahead吗? –

回答

1

作出这样的最后一部分先行,所以它不会吃进你的下一场比赛:

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

demo

+0

请注意,这也将匹配不以1000开头的中间部分,如果有的话 – Aaron

+0

那就是它!谢谢! – ZeiZ