正则表达式匹配器
来源:互联网 发布:php 继承 use 编辑:程序博客网 时间:2024/04/28 08:31
来自《代码之美》
匹配算法:
/* match: 在text中regexp */
int match(char *regexp, char *text)
{
if (regexp[0] == '^')
return matchhere(regexp+1, text);
do {
if (matchhere(regexp, text))
return 1;
} while (*text++ != '\0');
return 0;
}
/* matchhere: 在text的开头查找regexp */
int matchhere(char *regexp, char *text)
{
if (regexp[0] == '\0') return 1;
if (regexp[1] == '*')
return matchstar(regexp[0], regexp+2, text);
if (regexp[0] == '$' && regexp[1] == '\0')
return *text == '\0';
if (*text !='\0' && (regexp[0] == '.' || regexp[0] == *text))
return matchhere(regexp+1, text+1);
return 0;
}
/* matchstar: 在text的开头查找C*regexp */
int matchstar(int c, char *regexp, char *text)
{
do {
if (matchhere(regexp, text)) return 1;
} while (*text != '\0' && (*text++ == c || c== '.'));
return 0;
}
- 正则表达式匹配器
- C++正则表达式匹配器
- 代码之美 正则表达式匹配器
- 一个简单的正则表达式匹配器
- 正则表达式创建数字号码匹配器
- 正则表达式、正则表达式常用功能、匹配器、URL
- 【代码之美】第一章——正则表达式匹配器
- 正则表达式Pattern(模式类)Matcher(匹配器类)
- 30行C代码的正则表达式匹配器
- 用C语言实现正则表达式匹配器
- 代码之美(试读)-第1章 正则表达式匹配器
- 黑马程序员——正则表达式及模式与匹配器对象
- scala 关于正则匹配器的取值问题
- 模式和匹配器
- 自己写 Netfilter 匹配器
- 自己写 Netfilter 匹配器
- 自己写 Netfilter 匹配器
- Matcher匹配器中的方法!
- putty 设置字体和大小方法
- 总结2
- 使用git/github管理ios项目 个人总结
- ASP.NET参数传值之高手过招
- Android的Handler总结
- 正则表达式匹配器
- 将int型数据转换为中文表达方式
- qt 生成库文件
- &与&&,|与||
- 往gnome3.2添加eclipse菜单
- 微软企业库5.0-面向切面AOP(PolicyInjection)学习记录--自定义属性匹配来拦截方法
- 【Html5每日练习】canvas绘制线性渐变图形
- C#反射概念以及实例详解
- 那些年,我们一起找过的工作