javascript 正则表达式 请教 请问大家如何区分分隔符和正则表达式的开始符?举例来说,if(1)/1/ 和a=(1)/1; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我做了一个js解析程序,但是在解析正则表达式时出现了错误。1、比如象if(1)/1/ 的正则表达式,我不能判断'1'前面的'/'是不是正则表达式的开始符号。因为也存在a=(1)/1的情况,这里的'/'仅仅是一个分隔符。在正常的情况下/a/,这样的正则表达式的解析都是正确的。 <script>//是正则表达式返回true,否则返回falsefunction isRe(str){ var start = str.indexOf("/"); if(start<0) return false; var end = str.lastIndexOf("/"); if(end==start) return false; str = str.substring(start,end+1); try{ var re = eval(str); if(re.test){ return true; }else{ return false; } }catch(e){ return false; }}alert(isRe("if(1)/1/"));//truealert(isRe("a=(1)/1;"));//false</script> 谢谢楼上各位,其实这个问题我没有描述清楚。实际上我是做的一个JS解释器,我解析javascript code one by one,当我碰到"/", 排除了是comment之外,我无法判断他是division 还是regular expression的开始符号。 谢谢楼上各位,其实这个问题我没有描述清楚。实际上我是做的一个JS解释器,我解析javascript code one by one,当我碰到"/", 排除了是comment之外,我无法判断他是division 还是regular expression的开始符号。 关于js 获取页面元素的绝对坐标的问题 关于javascript的一点小疑惑 关于IE中的objError 帮忙看下JQuery这个 在网页中直接显示ppt文档,要求不出现打开、保存的对话框。在线等。 分辨率的问题? 大家帮忙来看看程序出了什么问题 我的程序那里错了 帮忙分析一下这个程序 node.js 部署问题 如何加密 frames如何让ie和firefox同时兼容 几乎找遍整个网络都没找到答案的问题!请高手进来!
1、比如象if(1)/1/ 的正则表达式,我不能判断'1'前面的'/'是不是正则表达式的开始符号。
因为也存在a=(1)/1的情况,这里的'/'仅仅是一个分隔符。
在正常的情况下/a/,这样的正则表达式的解析都是正确的。
//是正则表达式返回true,否则返回false
function isRe(str)
{
var start = str.indexOf("/");
if(start<0) return false;
var end = str.lastIndexOf("/");
if(end==start) return false;
str = str.substring(start,end+1);
try{
var re = eval(str);
if(re.test){
return true;
}else{
return false;
}
}catch(e){
return false;
}
}alert(isRe("if(1)/1/"));//true
alert(isRe("a=(1)/1;"));//false
</script>
实际上我是做的一个JS解释器,我解析javascript code one by one,
当我碰到"/", 排除了是comment之外,我无法判断他是division 还是regular expression的开始符号。
实际上我是做的一个JS解释器,我解析javascript code one by one,
当我碰到"/", 排除了是comment之外,我无法判断他是division 还是regular expression的开始符号。