0

我是 TPerlRegEx 的新手。由于某些数据有系统随机创建的附加行,因此无法匹配数据块中的数据。

数据

Opt: 
<NVR IP: 192.168.2.163>
<SRC IP: 192.168.2.123>
<TYPE: 5>
<INPUT: 2>


<Alarm ID:66

 Time:  29/07/2010 12:18:12 PM
 State: 1
 Assigned User: 0
 Assigned Time: 01/01/1970 8:00:00 AM
 Ack Time:  01/01/1970 8:00:00 AM>

<Alarm ID:67
 Time:  29/07/2010 3:11:07 PM
 State: 1
 Assigned User: 0
 Assigned Time: 01/01/1970 8:00:00 AM
 Ack Time:  01/01/1970 8:00:00 AM>

<Alarm ID:68
 Time:  29/07/2010 3:11:08 PM
 State: 1
 Assigned User: 0
 Assigned Time: 01/01/1970 8:00:00 AM
 Ack Time:  01/01/1970 8:00:00 AM>

Alarms got successfully

这是我的正则表达式,它只能匹配警报 67 和 68。警报 66 下面有一个附加行,该行随机出现在数据块中。

<Alarm\x20ID:.*?\r\n\t.*?\r\n\t.*?\r\n\t.*?\r\n\t.*?\r\n\t.*?>
4

1 回答 1

3
<Alarm\x20ID:.*?\r+\n+\t*.*?\r+\n+\t*.*?\r+\n+\t*.*?\r+\n+\t*.*?\r+\n+\t*.*?>

或者更好

<Alarm\x20ID:.*?(\r\n)+\t*.*?(\r\n)+\t*.*?(\r\n)+\t*.*?(\r\n)+\t*.*?(\r\n)+\t*.*?>
于 2012-04-26T14:11:52.243 回答