在字符串解析(regex)方面需要帮助

时间:2013-11-13 08:39:49

标签: java regex

我有一个字符串cd /Users/bob/temp,我需要将它解析为字符串数组,但是

  • 我的输入字符串可以以任意数量的空格开头(cd)
  • 之间的“cd”和路径可以是任意数量的空格(cd
    /用户/鲍勃/温度)
  • 路径可能包含任何字符,包括dor(用于隐藏 目录)

我的尝试String[] exp = action.split("^cd++[\\w\\W]*");

2 个答案:

答案 0 :(得分:0)

我认为您可以在String上使用方法split()

String s = cd /Users/bob/temp;
String[] split = s.split("/");

答案 1 :(得分:0)

首先,我假设您的令牌为cd/path/to\ my/foo/bar

当涉及到逃避时,正则表达式不是最好的方法,因为它们变得缓慢且不清楚。编写解析器通常是更好的方法。

由于您的字符串看起来像bash片段(允许转义),您可能更愿意采用解析器方式。