zoukankan      html  css  js  c++  java
  • 带参数的正则匹配

    之前正则一般用到的情况都是直接写死的 也就是比如想要代替某一段字符串中的[length]就这样写:

    str.replace(/\[ilength]/g,''));
    

    这样。

    但是如果需要参数组织正则呢?怎么写?

    我总结了一个方法:

    如下:

    function changeModelToHtml(template,oSource){
    		for(var i in oSource){
    			var reg = new RegExp("{"+i+"}","gim");
    			template = template.replace(reg,oSource[i]);
    			reg = null;
    		}
    		return template;
    	}
    

    template是包含所谓要替换内容的原始一个字符串。

    oSource是一个Object对象里面是一群key,value

    还有一个方法是我同事整理出来的我也贴出来:

    var Source={"sty":"ss","number":1,"name":"jackie"};
    var stemplate ="<li class='{sty}'><i>{number}</i>{name}</li>";
     console.log(stemplate);
    var reg=/{(.+?)}/gim;
     stemplate.replace(reg,function(obj){
        stemplate= stemplate.replace(obj,Source[RegExp.$1]);
     }) ;
    console.log(stemplate);

    实现的是一样的效果。

    大家看看何种方法好或者不好。

    欢迎拍砖。

  • 相关阅读:
    Android之帧动画2
    CSS之图片关闭
    JAVA之While语句、Do和For语句
    oracle 无效字符
    java 时间制
    mybatis jdbcType date没有时分秒
    log4j说明
    spy 日志说明
    linux更新系统时间
    linux常用命令2
  • 原文地址:https://www.cnblogs.com/blueSkys/p/2837594.html
Copyright © 2011-2022 走看看