正则表达式匹配器与Subversion的Delta编辑器:代码之美与设计哲学
1. 正则表达式匹配器的优化与拓展
正则表达式匹配器的代码具有高度的简洁性和强大的功能,其设计理念和实现方式值得深入探讨。
1.1 代码优化建议
- 使用不透明类型隐藏实现细节 :采用不透明类型来隐藏正则表达式(RE)的结构和所有实现细节,这是在C语言中实现面向对象编程的一种有效方式。通过定义如
RE_new()和RE_match()这样的函数名作为方法,模拟了面向对象语言的类和方法的概念。 - 修改正则表达式类 :将正则表达式类修改为类似于各种shell中的通配符模式。匹配默认在两端锚定,
*匹配任意数量的字符,?匹配任意单个字符。可以通过修改算法或映射输入到现有算法来实现这一功能。 - 代码语言转换 :将代码转换为Java语言。需要注意的是,Java版本通常使用
String.charAt(索引代替指针)或String.substring(更接近指针版本),但相比C代码,Java代码的清晰度和紧凑性较差,且性能约为C版本的六到七倍慢。 - 编写包装类 :编写一个包装类,将该类的正则表达式转换为Java的
Pattern和Matcher
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



