![]() |
1
7
好吧,一个简单的经验法则是:如果要解析的数据的语法是 regular ,使用正则表达式。如果不是这样,正则表达式可能仍然有效(因为大多数regex引擎也支持非正则语法),但它可能很痛苦(复杂/糟糕的性能)。 另一个方面是您正试图处理解析的数据。如果您只对一个字段感兴趣,那么regex可能更容易阅读。如果您需要深入地阅读嵌套结构,解析器可能更易于维护。 |
![]() |
2
4
正则表达式 是 分析器生成器。 维基百科:
如果您要浏览一个只需浏览一次的列表,那么请将该列表保存到一个文件中并从中读取。如果每次都要检查不同的内容,请使用regex并将结果存储在数组或其他内容中。 它比你想象的要快得多。我见过比这篇文章更重要的表达。 另外,你可以根据自己的喜好,用任何你决定用的语言来嵌套。为了最大限度地提高可用性,您甚至可以分段进行。 |
![]() |
3
2
正如鬼鬼祟祟地指出的那样,你可以有一个巨大而复杂的正则表达式,它的强大程度令人惊讶。我看到过一些这样的例子,但没有一个能被凡人维护。即使使用 Expresso 只是帮助了这么多,仍然很难理解,修改也很危险。所以,除非你是一个对grep有着浓厚兴趣的学者,否则我不会推荐这个方向。 相反,考虑专注于语法并让 compiler compiler 帮你搬重物。 |
![]() |
DotFX · RegEx捕获关键字前但括号后的所有内容 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |
![]() |
iato · 确保正则表达式不从命名材料中的数字中提取 7 月前 |
![]() |
vr8ce · 非成对标记中特定字符的正则表达式 7 月前 |
![]() |
MARTIN · 交换第一个和最后一个单词,反转所有中间的字符 7 月前 |
![]() |
Carsten · 使用最近的搜索模式更改文本块 7 月前 |