请问c代码中的[a-zA-Z0-9]是什么意思?

时间:2021-10-15 17:01:51
while(1) {
    scanf("%[ a-zA-Z0-9]", buf);
    printf("%s\n", buf);
}
请问代码中的"%[ a-zA-Z0-9]"是什么语法? 为什么书里没有提到过这种用法?

11 个解决方案

#1


正则表达式

#2


//由数字和26个英文字母组成的字符串

#3


正则表达式
只从输入中获取大小写的英文字母和数字

#4


C里面允许使用正则表达式吗?为什么C语言的书里从来没有提到过?

#5


它是 C 中的符号集描述符号,
表示一个符号集合,这个集合是 a-z A-Z 0-9  中的字符组成。

#6


也就是说,
scanf("%[ a-zA-Z0-9]", buf);
这个语句,
buf 只接收 [ a-zA-Z0-9] 它所描述的字符集合,
其他的字符被认为是非法,
终止接受

#7


请问哪本C语言书里有讲到这个?

#8


<<C 专家编程>>,不过好像很难买到

#9


标准C也可以用正则表达式啊?长见识了。

#10


可以么?不行吧

#11


标准C未定义, 只是 M$ 扩展,貌视 ....

#1


正则表达式

#2


//由数字和26个英文字母组成的字符串

#3


正则表达式
只从输入中获取大小写的英文字母和数字

#4


C里面允许使用正则表达式吗?为什么C语言的书里从来没有提到过?

#5


它是 C 中的符号集描述符号,
表示一个符号集合,这个集合是 a-z A-Z 0-9  中的字符组成。

#6


也就是说,
scanf("%[ a-zA-Z0-9]", buf);
这个语句,
buf 只接收 [ a-zA-Z0-9] 它所描述的字符集合,
其他的字符被认为是非法,
终止接受

#7


请问哪本C语言书里有讲到这个?

#8


<<C 专家编程>>,不过好像很难买到

#9


标准C也可以用正则表达式啊?长见识了。

#10


可以么?不行吧

#11


标准C未定义, 只是 M$ 扩展,貌视 ....