我需要使用正则表达式从正文电子邮件中提取所有数据信息(以便在输出列中获取“通知类型”,“服务”,“主机”,“地址”,“状态”,“日期/时间”, “附加信息”)。 电子邮件的内容如下:
Notification Type: AAAAAA
Service: Percentile: Interface vlanxxxx
Host: Oslo.group.xxx
Address: 99.200.XX.YYY
State: OK
Date/Time: Sun Sept 10 22:53:32 CEST 2017
Additional Info:
OK - Interface 400 = Average IN: 140.626Gbps(50.50%), Average OUT: 519.888Mbps(80.962%)
请有人帮帮我吗? 此致
答案 0 :(得分:1)
^[^:]*:\s*(.+)
Notification Type: AAAAAA
Service: Percentile: Interface vlanxxxx
Host: Oslo.group.xxx
Address: 99.200.XX.YYY
State: OK
Date/Time: Sun Sept 10 22:53:32 CEST 2017
Additional Info:
OK - Interface 400 = Average IN: 140.626Gbps(50.50%), Average OUT: 519.888Mbps(80.962%)
以下结果是捕获组1的内容
AAAAAA
Percentile: Interface vlanxxxx
Oslo.group.xxx
99.200.XX.YYY
OK
Sun Sept 10 22:53:32 CEST 2017
OK - Interface 400 = Average IN: 140.626Gbps(50.50%), Average OUT: 519.888Mbps(80.962%)
^
在行首处断言位置[^:]*
匹配除:
以外的任何字符:
按字面意思匹配\s*
匹配任意数量的空白字符(.+)
将一个或多个角色捕获到捕获组1 答案 1 :(得分:0)
^Notification Type: (.*)$
^Service: (.*)$
^Host: (.*)$
^Address: (.*)$
^State: (.*)$
^Date/Time: (.*)$
<小时/> 最后一行是没有接受正则表达式的行。假设到处都是
m
( m ultiline)标志。如果您不想使用它,请将$
字符替换为[\r\n]
。
^
字符与该行的开头匹配。