1
0
答案主要取决于您想做多少编码和您想依赖多少库之间的平衡——如果您的应用程序可以依赖于其他库,您可以使用许多正则表达式库中的任何一个库——例如,所有Linux/Unix风格的posix regex。 或 如果您只需要这些特定的语法,我将使用字符串标记器(strtok)——在“*”上拆分,在“”上拆分——然后处理每种情况。 |
2
2
我不会仅仅为此而重新提出一个完整的lex/yacc解析器。您所描述的内容可以适用于一个简单的正则表达式:
如果您有一个支持捕获的regex引擎,那么很容易提取您需要的单个信息。(最可能出现在捕获1、3和4中)。 如果我理解您的意思,您可能会希望同时检查捕获1和捕获4不是非空的。 如果您需要进一步拆分搜索词,可以在随后的步骤中解析捕获3。 即使没有regex,我也会手工编写一个函数。它比处理lex/yacc要简单,我想你可以把比正则表达式更有效的东西组合起来。 |
3
0
在这种情况下,strtok方法会更好,因为要解析的命令数量很少。 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Manny · 如何比较Perl中的字符串? 2 年前 |
Manan Girdhar · 拆分字符串并仅在java中使用第二部分 2 年前 |
AnxiousLuna · Python使用len()获取数组索引数 2 年前 |
antonoyaro8 · 数据帧中每列上的Grepl 2 年前 |