用C++正则表达式判断字符串是否为数字
时间: 2023-10-18 16:10:51 浏览: 173
JS判断输入的字符串是否是数字的方法(正则表达式)
使用C语言中的正则表达式库regex.h,可以实现对字符串是否为数字的判断。具体实现如下:
```c
#include <stdio.h>
#include <regex.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
regex_t reg;
int res = regcomp(®, "^[0-9]+$", REG_EXTENDED);
if (res) {
printf("正则表达式编译失败!\n");
return -1;
}
res = regexec(®, str, 0, NULL, 0);
if (res == 0) {
printf("字符串为数字!\n");
} else {
printf("字符串不是数字!\n");
}
regfree(®);
return 0;
}
```
使用regcomp函数编译正则表达式,^表示匹配字符串的开始,[0-9]+表示匹配一个或多个数字,$表示匹配字符串的结束。
使用regexec函数执行正则表达式的匹配,如果返回值为0,则匹配成功,即字符串为数字。否则,字符串不是数字。
需要注意的是,regex.h库不是C标准库的一部分,需要在编译时链接该库,例如:
```bash
gcc -o main main.c -lregex
```
阅读全文