问个有对我来说有点难度的问题,正则表达式 这样就行嘛?eval('str1=\'yes;\'; //定义变量str1') 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>str = 'str1 = \'dsfasdfsdf;;;;;;;;;\';'alert(str.replace(/(str1 = \').*(\';$)/,"$1yes$2"));</script> 晕,是我没有说明白,再说一次.就是动态改变变量的内容://我说的只是一种一种特殊情况str里面有很多变量定义,其中大体有几种形式str1 = "dfsadfsadfa"; //定义str1str2 = 'dfsadfsadfa'; //定义str2str3 = '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); 还有一种:str7 = 7; //定义str7,不带分号的情况; 无论多少都没有关系<script>str = 'str1 = \'dsfasdfsdf;;;;;;;;;\';'str1 =1alert(str.replace(/(str1 = )(\').*\2(;$)/,"$1"+str1+"$3"));</script>由于str中的是一个赋值语句,所以他匹配他就很容易str.replace(/(str1 = )([\"\']*).*\2(;$)/,"$1"+str1+"$3") ---1--- -----2------ -3-1 匹配表达式左边和算符2 匹配原值,包括可能的引号3 匹配结尾处的";"需要替换的是第二部分 如果考虑到不用";"结尾(在js是可以的,在php是不可以的)则 (;$) ==> (;?$) 试一试下面的代码,看是不是你所希望的那样。输入变量和变量值,安设置按钮。不过变量名没考虑大小写问题。如果不匹配,什么也不替换。<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"; //定义str1str2 = 'dfsadfsadfa'; //定义str2str3 = '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> Ext4 tree 后台数据转换问题 急!新手求助如何用JS新建一个空的下拉框 (潜水多年,终于忍不住提问下)类似chinaren登录的效果如何实现? 一直没有解决的问题?高手指点 每天看都没有人回答 好可怜 多个按钮 点击使其中一个突出显示 这个js文件谁能给个办法下载? JS关于时间判断的问题??????? 求一个简单正则表达式。 如何让首页的广告只弹出来一次,用javascript如何实现 Javascript这两年到底发生了什么变化,怎么被捧的这么高? 窗口之间的访问,有没有办法?? 一个Form里的两个Submit同时提交问题(解决立马给分)
str = 'str1 = \'dsfasdfsdf;;;;;;;;;\';'
alert(str.replace(/(str1 = \').*(\';$)/,"$1yes$2"));
</script>
就是动态改变变量的内容:
//我说的只是一种一种特殊情况
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);
str7 = 7; //定义str7,不带分号的情况;
<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 匹配结尾处的";"
需要替换的是第二部分
则 (;$) ==> (;?$)
<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>