C语言中如何使用regcomp()、regexec()和regfree()进行正则表达式匹配?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1583个文字,预计阅读时间需要7分钟。
标准的C和C++都不支持正则表达式,但有一些函数库可以帮助C/C++程序员完成这一功能。其中最著名的是Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版都自带了这个函数库。
标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库。
C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),一般分为三个步骤,如下所示:
- C语言中使用正则表达式一般分为三步:
-
- 编译正则表达式 regcomp()
- 匹配正则表达式 regexec()
- 释放正则表达式 regfree()
下边是对三个函数的详细解释
1、int regcomp (regex_t *compiled, const char *pattern, int cflags)
这个函数把指定的正则表达式pattern编译成一种特定的数据格式compiled,这样可以使匹配更有效。函数regexec 会使用这个数据在目标文本串中进行模式匹配。执行成功返回0。
本文共计1583个文字,预计阅读时间需要7分钟。
标准的C和C++都不支持正则表达式,但有一些函数库可以帮助C/C++程序员完成这一功能。其中最著名的是Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版都自带了这个函数库。
标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库。
C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),一般分为三个步骤,如下所示:
- C语言中使用正则表达式一般分为三步:
-
- 编译正则表达式 regcomp()
- 匹配正则表达式 regexec()
- 释放正则表达式 regfree()
下边是对三个函数的详细解释
1、int regcomp (regex_t *compiled, const char *pattern, int cflags)
这个函数把指定的正则表达式pattern编译成一种特定的数据格式compiled,这样可以使匹配更有效。函数regexec 会使用这个数据在目标文本串中进行模式匹配。执行成功返回0。

