zoukankan      html  css  js  c++  java
  • 关于正则表达式在线测试工具的开发总结

    附:此次进行正则表达式在线测试工具(一下简称“正则测试工具”)的开发,源于爬山虎工作室的编程实训作业。开发工具: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+"次。");      //无法输出匹配次数。

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

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

    })

      (五)总结

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

  • 相关阅读:
    swift 第十四课 可视化view: @IBDesignable 、@IBInspectable
    swift 第十三课 GCD 的介绍和使用
    swift 第十二课 as 的使用方法
    swift 第十一课 结构体定义model类
    swift 第十课 cocopod 网络请求 Alamofire
    swift 第九课 用tableview 做一个下拉菜单Menu
    swift 第八课 CollectView的 添加 footerView 、headerView
    swift 第七课 xib 约束的优先级
    swift 第六课 scrollview xib 的使用
    swift 第五课 定义model类 和 导航栏隐藏返回标题
  • 原文地址:https://www.cnblogs.com/scutwang/p/3093225.html
Copyright © 2011-2022 走看看