(...)
式に括弧が含まれているかどうかを判断しようとしていますが、角括弧内に(...)
ありません。これは、いくつかの単純な Lisp スタイルの式を解析および処理するために使用されます。
角括弧内にないスペース文字で文字列を分割するために使用した次の作業式を採用しましたが、上記の場合と同じ効果を達成できないようです。
私が使用している表現:
/(\[.*?\]|(\(.*\)+))/g
hasPair 関数からの望ましい出力を含む式の例のリストを次に示します。
- (+ 2 2) -> true
- (+ 2 (- 4 2)) -> true
- [(+ 2 2)] -> false
- [(def i (+ 2 2)] -> false
- (defn add [+ 2 2]) -> true
- def add [(+ 2 2)] -> false
- (defn add x y [(+ x y]) -> true
明らかな何かが欠けている可能性がありますが、それが何であるかはわかりません。
(違いがあれば、表現は常にバランスが取れています)