求javascript js正则表达式匹配以@@开头@@结尾,不包含@@的字符串
6个回答
推荐于2017-09-08
展开全部
var result =/^@@([.*])@@$/g; //^开头$结尾
var str = "@@dsfdsafds...@@";//要匹配的字符串
var val = result.exec(str); // 返回一个数组.
var vals = /@@/g.test(val[0]); //对得出中间的字符串进行匹配并返回一个布尔值
if(vals){
//字符串内含有@@
}else{
//字符串内无@@
}
如果是要得到@@123@@中间的123的话则是:
var result =/^@@([.*])@@$/g; //^开头$结尾
var str = "@@dsfdsafds...@@";//要匹配的字符串
var val = result.exec(str); // 返回一个数组.
var vals = val[0]; //得出中间的字符串
不知道对不对窝 (*^__^*) 我也是菜鸟
2013-11-06
展开全部
//感觉不符合你要求,最好给个匹配效果实例
var str = "@@adsfafsd@@";
var result;
result = /^@@(.+)@@$/g.exec(str);
document.write(result[1]);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var reg = /^@@[^@]*@@$/;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则表达式没有“不匹配”的功能的。比如[^abc]表示匹配不包含a,b,c3个字母以外的的字符,但没法匹配 不包含"abc"的字符串。
要实现这个功能靠一个正则表达式是不行的,只有通过一定的逻辑控制实现.
function regtest(input){
var reg1=/^@@.*@@.*@@$/;
var reg2=/^@@.*@@$/;
if(reg2.test(input)){ //匹配@@.......@@字符串
if(reg1.test(input)){
return false;
}else{ //再匹配@@...@@...@@这种字符串,成功则不符合要,其余的就符合要求了
return true;
}
}else{
return false;
}
}
要实现这个功能靠一个正则表达式是不行的,只有通过一定的逻辑控制实现.
function regtest(input){
var reg1=/^@@.*@@.*@@$/;
var reg2=/^@@.*@@$/;
if(reg2.test(input)){ //匹配@@.......@@字符串
if(reg1.test(input)){
return false;
}else{ //再匹配@@...@@...@@这种字符串,成功则不符合要,其余的就符合要求了
return true;
}
}else{
return false;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个简单。正则表达式:
/@@(.*)@@/;
使用方式:
var re = @@(.*)@@/;
var result = re.exec(str);
如果匹配,result是非空的数组,第一个元素就是不包含@@的字符串。
/@@(.*)@@/;
使用方式:
var re = @@(.*)@@/;
var result = re.exec(str);
如果匹配,result是非空的数组,第一个元素就是不包含@@的字符串。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询