用C#实现基于查寻字符串的文件行查询器(1)-概述

来源:互联网 发布:穆雅斓的淘宝店叫什么 编辑:程序博客网 时间:2024/05/01 23:19
作者:yxin1322
http://blog.csdn.net/yxin1322
转载请注明出处

     第一次写blog,真是无从下笔,不知道写点什么好,正好前几天C#实验课做了一个基于查寻字符串的文件行查询器。由于程序涉及到的知识颇为丰富,所以将整个程序的设计和实现过程记录在此,算是一个总结。

     所谓文件行查询就是以文本文件的行作为查找单位,查询结果返回所有满足条件的行。

     所谓查询字符串,就是通过一个有格式的字符串来表明你将要查找的内容,格式字符串中可以使用三种逻辑运算符&&、||和! ,分别表示与、或、非运算,三种运算符的优先级别从高到低的顺序是!、$$、||,同时可以用括号来控制逻辑运算的结合顺序,如:

  • aaa :查找的含有关键字为aaa的行
  • aaa && bbb:查找同时含有aaa和bbb的行
  • aaa||bbb:查找含有aaa或bbb的行
  • !aaa:查找不含有aaa的行
  • !(aaa && bbb):查找不同时包含aaa和bbb的行

     毫无疑问,要实现查找,我们首先要解析出查询字符串,使程序能够按照各运算符的优先级依次结合查找。这里我选择最常用的逆波兰式来解析查询字符串,因为后置运算符的逆波兰式特别适合计算机处理表达式计算,同时逆波兰式不需要用括号来控制运算结合顺序。当查询字符串转换成逆波兰式后,就可以按照其特有的算法来进行查询操作了。对于查询操作,定义了相关类进行操作,我将在以后的章节里详细介绍。(未完...)

 

原创粉丝点击