关于正则表达式在线测试工具的开发总结

附:此次进行正则表达式在线测试工具(一下简称“正则测试工具”)的开发,源于爬山虎工作室的编程实训作业。开发工具:subline text。

  (一)正则测试工具功能:

    输入正则表达式和待测试的语句,提交后,由后台进行匹配判断,然后输出判断结果(包括单元匹配结果)。

 

  (二)工作界面如下,

        

  正确测试结果界面:

        

  (三)开发过程学习到的知识:

    (1)PHP支持两种类库的正则表达式:PCRE 和 POSIX 库。其中,PCRE库支持比较全面,执行效率较高;而POSIX库,自 PHP 5.3.0起, POSIX 正则表达式扩展被废弃。因此PCRE前景较好,此次也只使用PCRE。

  附注:两者的功能以及函数等区别具体请查看昨晚写的博文《posix和perl标准的正则表达式区别

    (2)此次正则测试工具的开发也是第一次使用JSON进行开发的实践;使用了JQuery库中的ajax函数进行数据传递和处理。

 

  (四)开发中遇到的最大问题:

    在开发的过程中,ajax的函数参数中预期服务器返回数据类型dataType必须写明为“json”;否则js在解析传递回来的数据时,将会把返回的数据当成responseText或者responseText进行解析。出现的情况是无法按照预期进行处理,例如下面代码,在这里,将无法输出匹配次数。

$.ajax({
       type:"GET",
       url:"regular.php",
       //省略掉 dataType: "json", 
       data:{
           regtext:reg,
           inputtext:input
       },

     success:function(data,textStatus){
        if(data.times==0){
          addHtml("#error","<P>您所输入的测试语句与正则表达式不符。请重新输入</P>");
        }else{

          //假如能够匹配,输出提示和匹配次数。

          alert("匹配次数为:"+data.times+"次。");      //无法输出匹配次数。

          //生成匹配所有匹配行的数据:

          //如果有其他的单元匹配,则生成单元匹配内容:
        }
     }

})

  (五)总结

    经过这一次动手操作,才意识到知识学习必须通过动手练习才能掌握。当初学习正则表达式的时候,没有做足练习,导致现在实际应用时暴露诸多问题,例如细节出现难以觉察的错误。

posted @ 2013-05-22 17:51  scutwang  阅读(492)  评论(0编辑  收藏  举报