Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CoderByte SimpleSymbols挑战:字符串中的模式识别(使用RegExp)_Javascript_Regex_String - Fatal编程技术网

Javascript CoderByte SimpleSymbols挑战:字符串中的模式识别(使用RegExp)

Javascript CoderByte SimpleSymbols挑战:字符串中的模式识别(使用RegExp),javascript,regex,string,Javascript,Regex,String,问题是: 让函数SimpleSymbolsstr获取正在传递的str参数,并通过返回字符串true或false来确定它是否是可接受的序列。str参数将由+和=符号组成,它们之间有几个字母,即++d++=+c++==a,为使字符串为真,每个字母必须由+符号包围。所以左边的字符串是假的。字符串不会为空,并且至少有一个字母 我的代码: function SimpleSymbols(str) { var arr = str.match(/[\+][a-zA-Z][\+]/g); var to

问题是:

让函数SimpleSymbolsstr获取正在传递的str参数,并通过返回字符串true或false来确定它是否是可接受的序列。str参数将由+和=符号组成,它们之间有几个字母,即++d++=+c++==a,为使字符串为真,每个字母必须由+符号包围。所以左边的字符串是假的。字符串不会为空,并且至少有一个字母

我的代码:

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+"
我所做的:在这个问题上检查另一个。尝试了另一个使用regex的解决方案,但是它在输入方面有问题,比如b


我认为问题与模式为+char+char+时有关,因为许多其他测试用例类似于++char+==+char+==

使用lookahead/\+[a-zA-Z]?=\+/非常感谢!所有测试用例都通过了。