ヘッドロックの後、私はbashとregexに関するいくつかの助けを求める。
リテラルの空の括弧のシーケンスに一致させたい。
これらは以下のようにそれぞれ、互いにそれぞれオンを開閉しなければならない:空のリテラルカッコシーケンスの一致をテストする最短方法
一致する: "の" または "()" または "()()()()()()"
一致しない : "(" または "((()()))" または "))()))()()"
は、ここに私が試したものです。 ($s
は、入力文字列が含まれている)
かろうじて(
$s="."
を除く)動作sed
と代替溶液、[ `echo $s|sed 's/\(()\)*/./'` = "." ]&&echo true||echo false
ウェル
を行っていない[[ <arg1> =~ <arg2> ]]
で所望の形状、[[ $s =~ \(()\)* ]]&&echo true||echo false
あります私の目的はできるだけ最短のコードを生成することです(個人的な挑戦)。
誰かが私を助けてくれますか? : '(
私は 'true'のか'偽たい'パターン全体に応じて一致するかどうかを判断する。内部の '()'がマッチしていても '((())))')で 'true'を取得したくありません。 –
Hmm。それは実際に私たちができることです。 –
ところで、これはあなたが遭遇した実用的な問題ではなく、パズルとして作成されているので、実際は[Puzzles&Code Golf SE](http://codegolf.stackexchange.com/)に属しています。 http://stackoverflow.com/help/on-topicに従って、「実用的」はStackOverflowの命令の一部です。 –