【发布时间】:2017-08-10 18:19:05
【问题描述】:
我想在一个句子中捕获一组特定的字符串,例如:
Agent/889 (SIP/1011 from SIP/1011) blablabla (Not in use) blablabla (last was 6 secs ago)
Agent/889 (SIP/1011 from SIP/1011) blablabla (Unavailable) blablabla
我在这个正则表达式中获得了我想要的所有信息:
Agent\/(\d{3})\s\(SIP\/(\d{4}).*\).*(In use|Not in use|Unavailable)\).*
但是,我想获得一个 #4 组,该组捕获(如果存在)“last was # secs ago”中的内容。我试过这样的正则表达式:
Agent\/(\d{3})\s\(SIP\/(\d{4}).*\).*(In use|Not in use|Unavailble)\).*(last was \d{1,} secs ago)?
但是#4 组总是在数组中得到一个空白值,即使字符串包含正则表达式中的文本。我正在使用PHP的preg_match_all函数,在本站模拟:PHP Live Regex.
【问题讨论】:
-
顺便说一句,你在 Unavailable 中有一个类型