问题:
让函数SimpleSymbols(str)获取传递的str参数,并通过返回字符串true或false来确定它是否是可接受的序列。 str参数将由+和=符号组成,它们之间有几个字母(即。++ d + === + c ++ == a),如果字符串为true,则每个字母必须用+符号包围。所以左边的字符串是假的。该字符串不会为空,并且至少有一个字母。
我的代码:
function SimpleSymbols(str) {
var arr = str.match(/[\+][a-zA-Z][\+]/g);
var total = str.match(/[a-zA-Z]/g);
if(arr === null || total === null)
return false;
else if(arr.length >= 1 && arr.length === total.length)
return true;
else
return false;
}
除了这三个以外的所有测试用例都通过了:
-"+z+z+z+"
-"2+a+a+"
-"+z+z+==+a+"
我做了什么:检查了另一个question这个问题。尝试使用正则表达式的另一个解决方案,但它有输入问题,如" b"。
我认为问题与模式是" + char + char +"有关。因为很多其他测试用例都像" ++ char + == + char + =="