Mat*_*ord 14 .net c# regex expression-trees
有人知道C#库是否匹配人类可读的模式?与正则表达式相似,但更友好?
给定一个字符串值,我希望能够将它与以下行的模式匹配:
(this AND that) OR "theother"
Run Code Online (Sandbox Code Playgroud)
其中"this"和"that"是LIKE表达式,而"theother"由于引号而完全匹配.
更新: 好的,只是为了更清楚一点.我想要这个的原因是允许最终用户输入他们自己的模式,作为字符串值.因此,我正在使用与regex类似的方式,但使用人类可读的字符串,我的用户将很容易理解
var pattern = "(this AND that) OR \"theother\""; // Could be fetched from textbox
var match = SomeLib.IsMatch(myString, pattern);
Run Code Online (Sandbox Code Playgroud)
好吧,经过大量搜索,我无法准确找到我想要的东西,但需要让某些东西快速运行,并且由于我使用的系统已经具有相关的 DLL,所以我已经最终使用 Lucene.NET 创建了一个临时索引,其中包含单个文档,并添加了我需要搜索的相关字段。然后我可以针对它执行我想要的查询类型,并检查是否有任何匹配项。通过使用 RAMDirectory 类,我能够在内存中创建索引,并在查找后将其释放,因此无需将索引文件写入磁盘。
我确信可能有一些不太密集的方法可以实现这一目标,但正如我所说,这是我在这段时间里能想到的最好的方法。
感谢大家的建议,我还是想知道是否有更好的方法?
| 归档时间: |
|
| 查看次数: |
2629 次 |
| 最近记录: |