用户提供的RegEx插件模型

时间:2009-11-19 11:29:14

标签: c# wpf regex extensibility

我在C#WPF中有一个程序来分析某些日志文件。每个日志包含一种格式的数据行,该格式包含地址和数据偏移量。

例如,某些日志文件可以采用以下格式:

mmio address : data

或某些可以采用以下格式:

write address : data

可以有许多这样的格式,但请放心,使用适当的RegEx解析每行时应始终返回地址和数据。

我想让这个RegEx可以从应用程序中控制。我不想硬编码源代码中每种格式的RegEx。用户应该能够修改现有的RegEx或为新类型的日志文件添加新的RegEx。我应该向他提供类似于表的内容,他可以从中选择特定行或为新日志文件添加新行

表:

日志名称 - RegEx

MMIO Log - MMIO([0-9] {8}):( [0-9] {8}) - >单选按钮

写日志 - 写([0-9] {8}):( [0-9] {8}) - >单选按钮

我该怎么做?我可以将它存储在某种配置文件中,也可以使用我不太了解如何实现的插件模型。

1 个答案:

答案 0 :(得分:2)

插件系统绝对有点过分。只需使用App.config存储表达式并将其显示在组合框或类似内容中。看看这个great article series如何访问配置。 System.Configuration namespace的其他参考来自MSDN。