如何从大文本中提取匹配的字符串
本文关键字:字符串 提取 文本 | 更新日期: 2023-09-27 18:34:24
我正在做一个基于WPF,C# and MVVM
的项目。它基本上是一个通过telnet可配置的网络设备应用程序。我的 wpf 文本框中有以下输出,我想提取 MAC 地址列值。
active500EM#sh mac-address-table
Read mac address table....
Vlan Mac Address Type Creator Ports
---- --------------------------- ------- -----------------------
1 00-23-8b-87-9a-6b DYNAMIC Hardware Ethernet1/0/12
1 00-8c-fa-72-94-b1 DYNAMIC Hardware Ethernet1/0/1
1 3c-43-8e-5c-3e-05 DYNAMIC Hardware Ethernet1/0/8
1 d0-59-e4-b9-e9-3e DYNAMIC Hardware Ethernet1/0/8
1 f8-f7-d3-00-03-c0 DYNAMIC Hardware Ethernet1/0/8
1 f8-f7-d3-00-03-f0 STATIC System CPU
active500EM#
我想我不能使用正则表达式,因为我没有任何匹配的东西。任何帮助和建议将不胜感激。
使用正则表达式有什么问题?
'b(?<mac_addr>([0-9a-f]{2}-){5}[0-9a-f]{2})'b
然后,您可以使用:
var allMacs = Regex.Matches(YOUR_TEXT, REGEX_PATTERN)
.Select(m => m.Groups["mac_addr"].Value)
.ToList();
以获取具有所有匹配 MAC 地址的List<String>
。
^'d+'s+('S+)
你可以试试这个。抓取捕获或组。请参阅演示。
https://regex101.com/r/eZ0yP4/32
这是
快速正则表达式
('w|'d){2}-('w|'d){2}-('w|'d){2}-('w|'d){2}-('w|'d){2}-('w|'d){2}