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]; //得出中间的字符串
不知道对不对窝 (*^__^*) 我也是菜鸟
//感觉不符合你要求,最好给个匹配效果实例
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;
}
}
这个简单。正则表达式:
/@@(.*)@@/;
使用方式:
var re = @@(.*)@@/;
var result = re.exec(str);
如果匹配,result是非空的数组,第一个元素就是不包含@@的字符串。