我是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.*?>
答案 0 :(得分: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*.*?>