用regex.h实现[A-Za-z0-9]M\.\d\.\d,\d\.\d\.\d
时间: 2023-12-15 14:32:55 浏览: 114
regex.h是C语言中用于正则表达式匹配的库。要实现[A-Za-z0-9]M\.\d\.\d,\d\.\d\.\d的匹配,可以使用以下代码:
```
#include <stdio.h>
#include <regex.h>
int main() {
char *pattern = "[A-Za-z0-9]M\\.[0-9]\\.[0-9],[0-9]\\.[0-9]\\.[0-9]";
char *string = "1M.2.3,4.5.6";
regex_t reg;
regmatch_t match[1];
int status = regcomp(®, pattern, REG_EXTENDED);
if (status != 0) {
printf("Regex compile error\n");
return 1;
}
status = regexec(®, string, 1, match, 0);
if (status == 0) {
printf("Matched!\n");
} else {
printf("Not matched\n");
}
regfree(®);
return 0;
}
```
这段代码中,首先定义了要匹配的正则表达式模式和待匹配的字符串。然后使用regcomp函数编译正则表达式,如果编译失败则返回错误信息。接着使用regexec函数进行匹配,如果匹配成功则输出"Matched!",否则输出"Not matched"。最后使用regfree函数释放正则表达式的内存。
阅读全文