【发布时间】:2014-02-13 13:57:18
【问题描述】:
我正在尝试根据标记定义为带引号的字符串、一组非空格字符或| 字符的标准对输入字符串进行标记。显然,在这种情况下strtok 将不起作用,所以我想也许使用正则表达式?或者我还没有想到更简单的解决方案?
之前有没有人遇到过这个问题,或者甚至对我如何处理这个问题有过建议?谢谢!
【问题讨论】:
-
以有限状态机的形式编写自定义词法分析器。你的语法很简单,会相当容易。
-
当询问正则表达式解决方案时,请提供您想要匹配的项目列表和另一个您想要省略的项目列表。
-
为什么
strtok不起作用?您可以指定多个分隔符。 -
就
strtok而言:对于CSV,您可以 使用",;|\t\r\n"进行标记,每个字符都是一个分隔符...处理时引用的字符串可能更容易strtok_r,虽然 -
引用的字符串可以包含转义序列吗?即如何在字符串中包含
",是否需要翻译\n之类的内容?