0

文字列cd /Users/bob/tempがあり、それを文字列配列に解析する必要がありますが、

  • 私の入力文字列は、任意の数のスペースで始まる場合があります ( cd )
  • 「cd」とパスの間には、任意の数のスペースを入れることができます (cd
    /Users/bob/temp)
  • パスには、dor (隠しディレクトリ用) を含む任意の文字を含めることができます

私の試みString[] exp = action.split("^cd++[\\w\\W]*");

4

2 に答える 2

0

cdまず、トークンがとであると仮定します/path/to\ my/foo/bar

エスケープに関して言えば、正規表現は遅くて不明瞭になるため、最善の方法ではありません。通常は、パーサーを作成することをお勧めします。

文字列は bash スニペットのように見えるため (エスケープが可能)、パーサーの方法を使用することをお勧めします。

于 2013-11-13T08:45:50.623 に答える