c - 在 C 中不使用 strtok() 进行标记化

标签 c regex token tokenize

我试图根据标记定义为带引号的字符串、一组非空格字符或 | 的标准来标记输入字符串。特点。显然,在这种情况下strtok不会工作所以我想也许使用正则表达式?或者也许有一个我还没有想到的更简单的解决方案?

有人以前遇到过这个问题,或者甚至对我如何解决这个问题有建议吗?谢谢!

最佳答案

首先,为什么strtok()“显然”不起作用?您似乎暗示 strtok() 无法使用多个分隔符;确实如此(char * delim 是指向一组分隔符的指针)。如果您想从头开始构建它,这是一个合理的开始方式。使用正则表达式是一个进步,但仍然是“从头开始构建”。

但是,如果您不想从头开始构建它,请查看 lex (或 flex),它将为您从 构建 C 中的 tokenise >lex 源文件。

关于c - 在 C 中不使用 strtok() 进行标记化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756289/

相关文章:

asp.net-mvc - ASP.NET MVC 与 Azure B2C 刷新 ID token 问题

c - 我无法完美地完成这个循环

c++ - FR_Not_Enabled 读取SD卡时Fat_fs错误?

Java正则表达式删除任何内容的单引号

c# - 正则表达式匹配数字标记,但前提是不属于另一个单词的一部分

javascript - javascriptscript 中的意外标记 )

c++ - 为什么当赋值运算符的左操作数时,数组名称不会衰减为指针?

c - 在C中使用命令行检测参数,然后打印出参数的第一个或第二个字符

javascript - RegEx 中的变量 - 将 RegEx 语法转换为字符串 - 如何避免?

java - 如何在keycloak上设置 token 过期时间