![]() |
1
1
找到每个regex中最大的常量文本块(如果超过某个阈值长度),并使用karp-rabin算法同时搜索这些字符串。对于每一个匹配,运行该regex以查看整个事件是否匹配。对于不包含在多字符串搜索中的每个regex,直接搜索该regex。 如果大量正则表达式具有合理的长度常量子字符串,这将为它们提供良好的性能,前提是您有足够的预处理时间来处理正则表达式。 |
![]() |
2
1
什么?即使测试单个正则表达式是否匹配,通常也不能在O(n)时间内完成。你从哪里得到这些信息的?这个在flex中是什么功能?我确信它一定是某种有限形式的正则表达式,而不是任意的.NET正则表达式。
要处理任意正则表达式,简单的方法是将正则表达式存储在
|
![]() |
3
0
快速的网络搜索显示存在一个类似lex的工具,名为 C#Lex . 但由于我不使用.NET或C,所以我不能说它是否好,是否对您有用。 对于Java,我找到了JLex和JFLeX,它们都生成源代码。只有当正则表达式被逐字编译为“脱机”(在应用程序外部)然后合并到应用程序类路径中时,使用这些似乎才合理。.NET版本的行为可能类似。 |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 3 年前 |
|
Dansih · .Net核心自定义身份验证方案 3 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |