请求高手帮忙写一个或者两个正则表达式条件
1,以$开头,空格或者回车键结尾
2,或者,以#foreach开头,半个括号)结尾
3,一个关键字 #end例子 $name $title #foreach($i in $test)
$i.name
#end
如果能用一个正则同时能满足以上两个请求的话,请给一个正则表达式,
如果一个满足不了,就给两个正则表达式吧。注:如果对java熟悉的话,其实上面就是velocotiy的匹配规则
js的IQ不够,请大牛帮忙,非常感谢。
1,以$开头,空格或者回车键结尾
2,或者,以#foreach开头,半个括号)结尾
3,一个关键字 #end例子 $name $title #foreach($i in $test)
$i.name
#end
如果能用一个正则同时能满足以上两个请求的话,请给一个正则表达式,
如果一个满足不了,就给两个正则表达式吧。注:如果对java熟悉的话,其实上面就是velocotiy的匹配规则
js的IQ不够,请大牛帮忙,非常感谢。
<head>
<script type='text/javascript'>
window.onload = function() {
var reg = /^(?:\$|#foreach).*(?:\n+|\r|\))$|#end/g;
var str = "";
var div = document.getElementById('str');
str = div.innerHTML;
var b = reg.test(str);
alert(b);
}
</script>
</head><body>
<div id='str'>
$name $title
#foreach($i in $test)
$i.name
#end
</div>
</body>
</html>
请高手再修改下,谢谢了。
\
#foreach($i in $test)\
$i.name\
#end';
document.write(s.match(/#[^)]+\)?|\$[\w.]+/g));
$name,$title,#foreach($i in $test),$i.name,#end
1,以$开头,空格或者回车键结尾
2,以#开头,半个括号)结尾
3,一个关键字 #end
reg=/^((\s*\$\S+\s*)|#foreach\(\$\w+\s*in\s*\$\w+\)[\s\S]+#end)+$/g;
alert( str.match(reg))
alert( reg.test(str))
使用浏览器是chrome,但是匹配不对不知你怎么调用的,我测试可以呀
reg=/^((\s*\$\S+\s*)|#foreach\(\$\w+\s*in\s*\$\w+\)[\s\S]+#end)+$/g;
alert( str.match(reg))
alert( reg.test(str))
版主给的正则表达式,对$匹配OK,但是对#开始的匹配,范围太广了,
只要是#开头的,全部都被匹配了;而并不是,只匹配#foreac 和 #end能麻烦再帮忙修改下吗?
谢谢了。
#aaa\
#foreach($i in $test)\
$i.name\
#end';
document.write(s.match(/#foreach[^)]+\)?|#end|\$[\w.]+/g));
不愧是JS版主,佩服的五体投地。
非常感谢,
也谢谢,其它帮助的朋友。
Thank your!!