c - fscanf() 的哪个正则表达式将忽略一行中的任何字符/字符串/特殊字符?

标签 c regex scanf

我正在尝试提出一个可以忽略一行中任何字符的正则表达式(在我阅读相关输入之后)。在某种程度上,它将 txt 文件中某个点之后的字符视为注释,但注释是“任何东西”,但不是我需要的相关信息。这是我所拥有的及其工作原理,但我想知道是否有更优雅的方法来处理这个问题:

fscanf(input_file, "%*[a-zA-Z .^$*+?()[{\'\"\t]", temp_char)

temp_char 是一个 char* 缓冲区。

谢谢

最佳答案

如果你想消费每一个不同于\n的字符和最后的 \n ,使用这些语句:

fscanf(input_file, "%*[^\n]");
fscanf(input_file, "%*c");

第一个忽略所有不同于 \n 的字符, 但如果没有则失败。 第二个消耗了 \n性格。

关于c - fscanf() 的哪个正则表达式将忽略一行中的任何字符/字符串/特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35677506/

相关文章:

c - 删除C中的文本 block

c++ - 内联和成员初始值设定项

java - 如何更改我的正则表达式以拒绝下划线

c - 当在 scanf() 中遗漏对变量的引用时,程序将停止工作。为什么是这样?

来自文件问题的c编程结构

c - 使用C语言中的套接字向FTP服务器发送命令

c - 生成所有 html 实体的数组

正则表达式匹配单词的第一个字母,但不匹配 "and"

javascript - 正则表达式禁止特定序列中的某些字符

c - 使用 scanf 的输入读取挂起