我刚刚完成了所有“简单”的 CoderByte 挑战,现在回去看看是否有更有效的方法来回答这些问题。我正在尝试为“SimpleSymbol”提出一个正则表达式。
(让函数 SimpleSymbols(str) 接受传递的 str 参数,并通过返回字符串 true 或 false 来确定它是否是可接受的序列。str 参数将由 + 和 = 符号组成,它们之间有几个字母(即。 ++d+===+c++==a) 并且要使字符串为真,每个字母都必须用 + 符号包围。所以左边的字符串将为假。字符串不会为空,并且至少有一个字母。)
我最初通过遍历整个字符串来回答这个问题,当找到一个字母时,在任一侧进行测试以查看是否存在“+”。我认为如果我可以使用正则表达式测试字符串会更容易,例如,
str.match(/\+[a-zA-Z]\+/g)
这不太行。我正在尝试查看匹配是否仅在字符串中的所有字符都满足条件时才返回 true。例如,由于 '+d+' 和 '+c+',该方法将在字符串 "++d+===+c++==a" 上返回 true。但是,根据原始问题,它应该返回 false,因为 'a' 并且没有周围的 '+'。
有任何想法吗?