c - C的strtok函数支持正则表达式吗?

标签 c

假设我必须解析一些可以具有不同分隔符的电话号码。

示例:01/555555 01/555-5555

我可以在 c 中使用 strtok() 并给出一个正则表达式作为包含所有不同可能分隔符的分隔符参数吗?

最佳答案

不,它不支持正则表达式。在询问之前先阅读文档。另一方面,这正是它的工作原理Read the documentation ,即您给它所有可能的分隔符。

在这里查看

#include <stdio.h>
#include <string.h>

int
main(void)
{
    char example[] = "exa$mple@str#ing";
    char *token;
    char *pointer;
    pointer = example;
    token = strtok(pointer, "@#$");
    if (token == NULL)
        return -1;
    do
    {
        fprintf(stdout, "%s\n", token);
        pointer = NULL;
    } while ((token = strtok(NULL, "@#$")) != NULL);

}

关于c - C的strtok函数支持正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746283/

相关文章:

c - 如何使用空格作为此代码的分隔符

c - putc() 写入错误数据

c - C中 header (链表)中的结构声明

c - 恢复具有多个索引范围的大型数组的元素

c - 不理解语句行

javascript - session cookie asp.net c#

无法在 C 中使用 * void 指针初始化结构

c - 为什么 main 中的调试语句与每个子函数中的调试语句产生的结果不同?

用 C 创建斐波那契数列

条件变量的误解