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


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

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

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

    })

      (五)总结

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

  • 相关阅读:
    观察者模式
    饿汉单例模式 and 懒汉单例模式
    解决hash冲突之分离链接法
    bat处理文件
    使用json-org包实现POJO和json的转换
    并发修改异常(ConcurrentModificationException)
    封装特效记录--持续更新
    vue loading组件
    vue授权页面登陆之后返回之前的页面
    vue 路由权限
  • 原文地址:https://www.cnblogs.com/scutwang/p/3093225.html
Copyright © 2020-2023  润新知