我正在尝试创建一个可以解析vpn日志文件的程序,让用户知道他们的VPN配置有什么问题。 VPN生成一个html文件,其中包含许多可用于解决问题的信息。问题是这些信息对普通用户来说太技术化了。我的部分过程是确定用户的IP配置是什么样的。日志是在异地时捕获的,因此无法从各种.net类中收集此信息。我需要解析用户附加的VPN生成的日志来帮助票证。
以下是日志文件的示例。我正在尝试收集无线适配器/以太网适配器,teredo和ip-https adatpers的所有IP信息。我首先尝试使用此正则表达式收集有关以太网适配器的信息,然后我可以使用更多正则表达式进一步过滤这些结果。
(Ethernet adapter Local Area Connection:)(.*)(Auto)
问题是这一直匹配到“隧道适配器”下的自动配置行。如果在以太网适配器本地区域连接下找到,我无法弄清楚如何在第一次自动配置时停止匹配。我有我的 。设置为匹配换行符。
Host Name . . . . . . . . . . . . : M-CNU3489QF5
Primary Dns Suffix . . . . . . . : some.site.com
Node Type . . . . . . . . . . . . : Hybrid
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : some.site.com
other.site.com
Wireless LAN adapter Wireless Network Connection 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter
Physical Address. . . . . . . . . : C4-D9-87-25-7B-F6
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Ethernet adapter Bluetooth Network Connection:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Bluetooth Device (Personal Area Network)
Physical Address. . . . . . . . . : C4-D9-87-25-7B-F9
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Wireless LAN adapter Wireless Network Connection:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) Centrino(R) Advanced-N 6235
Physical Address. . . . . . . . . : C4-D9-87-25-7B-F5
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::d4ac:bfab:e226:b235%12(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.1.4(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Sunday, August 17, 2014 5:35:30 PM
Lease Expires . . . . . . . . . . : Monday, August 18, 2014 10:12:24 AM
Default Gateway . . . . . . . . . : 192.168.1.1
DHCP Server . . . . . . . . . . . : 192.168.1.1
DHCPv6 IAID . . . . . . . . . . . : 247781767
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1A-38-F2-60-A0-D3-C1-99-F9-EC
DNS Servers . . . . . . . . . . . : 192.168.1.1
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter Local Area Connection:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) 82579LM Gigabit Network Connection
Physical Address. . . . . . . . . : A0-D3-C1-99-F9-EC
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2001:0:c00c:509a:28e1:3b50:bbd7:84ae(Preferred)
Link-local IPv6 Address . . . . . : fe80::28e1:3b50:bbd7:84ae%15(Preferred)
Default Gateway . . . . . . . . . :
NetBIOS over Tcpip. . . . . . . . : Disabled
Tunnel adapter 6TO4 Adapter:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft 6to4 Adapter
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
Tunnel adapter iphttpsinterface:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : iphttpsinterface
Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP Enabled. . . . . . . . . . . : No
Autoconfiguration Enabled . . . . : Yes
IPv6 Address. . . . . . . . . . . : 2HIDDNE3(Preferred)
Temporary IPv6 Address. . . . . . : 2HIDDEN3(Preferred)
Link-local IPv6 Address . . . . . : fe80::7023:b4d6:8ef7:d253%19(Preferred)
Default Gateway . . . . . . . . . :
NetBIOS over Tcpip. . . . . . . . : Disabled
答案 0 :(得分:0)
我会为此形成一个正则表达式...
/((^[a-zA-Z0-9 -~]+?):\n{2}([a-zA-Z0-9 -~]+?))\n/gm
执行以下操作:
延迟匹配行的开头与字符a-z,A-Z,0-9或和〜之间的任何可打印的unicode字符,后跟冒号
您知道每个块标题后面有2个新行,所以匹配
从az,AZ,0-9,空格或到〜之间的任何可打印的unicode字符延迟匹配以下段落,直到新行,然后块结束。
可能有许多更复杂的正则表达式技术可以匹配,但你应该从该字符串中获取组,然后能够选择所需的组号。例如:https://regex101.com/r/bI7zW2/1