我试图回答这个问题:
使用JavaScript语言,让函数SimpleSymbols(str)获取传递的str参数,并通过返回字符串true或false来确定它是否是可接受的序列。 str参数将由+和=符号组成,它们之间有几个字母(即。++ d + === + c ++ == a),如果字符串为true,则每个字母必须用+符号包围。所以左边的字符串是假的。该字符串不会为空,并且至少有一个字母。
这是我的解决方案:
function SimpleSymbols(str) {
var test;
for (var i =0; i<str.length; i++){
if ((str.charAt(i)!== '+' && str.charAt(i+1) === str.match(/[a-z]/))
||(str.charAt(i+1) === str.match(/[a-z]/) && str.charAt(i+2) !== '+')){
test = false;
break;
}
else if (str.charAt(0) === str.match(/[a-z]/)){
test = false;
break;}
else {
test= true;}
}
return test;
};
答案 0 :(得分:1)
我认为你可以使用两个正则表达式,然后比较它们返回的数组的长度
function SimpleSymbols(str){
return str.match(/[a-z]/g).length == str.match(/\+[a-z]\+/g).length;
}
第一个正则表达式/[a-z]/g
将匹配所有字母,而/\+[a-z]\+/g
将匹配所有字母后面跟着并以文字+
开头。
然后,我们只使用Array.length
属性检查长度是否相同,然后返回Boolean
结果。就这么简单。