我在这里有一个数据库,其中包含我需要应用于一堆字符串的某些规则,它们是可以在字符串中出现的表达式。它们表达为
(word1 AND word2) OR (word3)
我无法对它们进行硬编码(因为它们可能在数据库中被更改),所以我考虑以编程方式将这些表达式转换为正则表达式模式。
有没有人做过这样的任务,或者知道如何以最好的方式做到这一点?我不确定如何处理更复杂的表达式,如何将它们分开等等。
编辑:我在 VisualStudio / .NET 中使用 C#。
数据基本上是目录路径,客户想要组织他们的文档,所以我拥有的字符串是路径,数据库中的表达式可能如下所示:
(office OR headquarter) AND (official OR confidential)
所以如果文件的目录路径包含office和confidential,它应该匹配。
希望这能让它更清楚。
编辑2:
这是一些虚拟示例:
路径可能如下所示:
c:\documents\official\johnmeyer\court\out\letter.doc
c:\documents\internal\appointments\court\in\september.doc
c:\documents\official\stevemiller\meeting\in\letter.doc
像这样的表达:
(meyer or miller) AND (court OR jail)
所以这个表达式将匹配第一个路径/文件,但不匹配第二个和第三个。