「簡単な」CoderByte の課題をすべて終えたところです。質問に答えるより効率的な方法があるかどうかを確認するために戻ってきました。「SimpleSymbol」の正規表現を考え出そうとしています。
(SimpleSymbols(str) 関数に、渡された str パラメーターを取り、文字列 true または false を返すことによって、それが受け入れ可能なシーケンスかどうかを判断させます。str パラメーターは、+ 記号と = 記号で構成され、それらの間にいくつかの文字があります (つまり. ++d+===+c++==a) 文字列が true になるには、各文字を + 記号で囲む必要があります. したがって、左側の文字列は false になります. 文字列は空ではなく、少なくとも一文字。)
私はもともと、文字が見つかったときに文字列全体をトラバースし、どちらかの側で「+」が存在するかどうかをテストすることで質問に答えました。次のような正規表現で文字列をテストできれば簡単だと思いました。
str.match(/\+[a-zA-Z]\+/g)
これはうまくいきません。文字列内のすべての文字で条件が満たされた場合にのみ、一致が true を返すかどうかを確認しようとしています。たとえば、'+d+' と '+c+' により、このメソッドは文字列 "++d+===+c++==a" に対して true を返します。ただし、元の質問に基づいて、「a」と周囲の「+」がないため、false を返す必要があります。
何か案は?