这样就行嘛?eval('str1=\'yes;\'; //定义变量str1')

解决方案 »

  1.   

    <script>
    str = 'str1 = \'dsfasdfsdf;;;;;;;;;\';'
    alert(str.replace(/(str1 = \').*(\';$)/,"$1yes$2"));
    </script>
      

  2.   

    晕,是我没有说明白,再说一次.
    就是动态改变变量的内容:
    //我说的只是一种一种特殊情况
    str里面有很多变量定义,其中大体有几种形式
    str1 = "dfsadfsadfa"; //定义str1
    str2 = 'dfsadfsadfa'; //定义str2
    str3 = 'dfsadfsadfa;;;;;;;;';
    str4 = "dfsadfsadfa;;;;;;;;";
    str5 = 'dfsadfsadfa;;;;\';\";;;';
    str6 = "dfsadfsadfa;;;;\";;;\';";
    一行一个变量,这些放在一个大的str里面.
    依次给出的是str1,str2,str3...也就是各个的名子
    要求:定义一个统一的正则表达式,给出哪一个(str(n)),给出内容将这个变量的内容改变成给出的内容.
    参考:这个是我在php下的正则:可是当在里面有;号时会出现错误,请大家帮我
    $this->config_content = preg_replace("/(\\".$var_name."\s*=)[^;]*/", "\\1 ".$var_value, $this->config_content);
      

  3.   

    还有一种:
    str7 = 7; //定义str7,不带分号的情况;
      

  4.   

    无论多少都没有关系
    <script>
    str = 'str1 = \'dsfasdfsdf;;;;;;;;;\';'
    str1 =1
    alert(str.replace(/(str1 = )(\').*\2(;$)/,"$1"+str1+"$3"));
    </script>
    由于str中的是一个赋值语句,所以他匹配他就很容易
    str.replace(/(str1 = )([\"\']*).*\2(;$)/,"$1"+str1+"$3")
                  ---1---  -----2------ -3-
    1 匹配表达式左边和算符
    2 匹配原值,包括可能的引号
    3 匹配结尾处的";"
    需要替换的是第二部分
      

  5.   

    如果考虑到不用";"结尾(在js是可以的,在php是不可以的)
    则 (;$) ==> (;?$)
      

  6.   

    试一试下面的代码,看是不是你所希望的那样。输入变量和变量值,安设置按钮。不过变量名没考虑大小写问题。如果不匹配,什么也不替换。<html>
    <head>
    <script>
    function setVarVal ( strText, var_name, var_value ) {
       re = new RegExp ( "(\\b" + var_name + "\\s*=\\s*)(['"+'"]?)(.*)\\2(\\s*;?)' );
       if ( re.test ( strText.value ) )
          strText.value = strText.value.replace ( re, "$1"+var_value+"$4");
    }
    </script>
    </head>
    <body>
    <textarea name="strText" cols=69 rows=12>
    str1 = "dfsadfsadfa"; //定义str1
    str2 = 'dfsadfsadfa'; //定义str2
    str3 = 'dfsadfsadfa;;;;;;;;';
    str4 = "dfsadfsadfa;;;;;;;;";
    str5 = 'dfsadfsadfa;;;;\';\";;;';
    str6 = "dfsadfsadfa;;;;\";;;\';";
    str7 = 7
    </textarea><p>
    变量名<input type="text" value="str1" name="var_name" size="20"><p>
    变量值<input type="text" value="'12342134'" name="var_value" size="20"><p>
    <input type="button" value="设置" onclick="setVarVal(strText, var_name.value, var_value.value)">
    </body>
    </html>