(читая ваш вопрос еще раз, непосредственно перед публикацией, я отмечаю, что вы говорите, что командная строка НРАВИТСЯ строка, таким образом, эта информация может быть бесполезна для вас, но, как я уже писал, я все равно опубликую - не обращайте внимания, если я неправильно понял вашу вопрос.)
Если вы уточните свой вопрос, я постараюсь помочь, но из общих замечаний, которые вы сделали, я бы сказал, не делайте этого :-), вы просите регулярное выражение, чтобы разбить серию параметров на массив. Вместо того, чтобы делать это самостоятельно, я настоятельно рекомендую вам использовать getopt, есть версии этой библиотеки для большинства языков программирования. Getopt сделает то, что вы просите, и масштабирует для управления более сложной обработкой аргументов, если вам потребуется это в будущем.
Если вы сообщите мне, какой язык вы используете, я постараюсь опубликовать образец для вас.
Вот пример домашней страницы:
http://www.codeplex.com/getopt
(.NET)
http://www.urbanophile.com/arenn/hacking/download.html
(Java)
Пример (со страницы Java выше)
Getopt g = new Getopt("testprog", argv, "ab:c::d");
//
int c;
String arg;
while ((c = g.getopt()) != -1)
{
switch(c)
{
case 'a':
case 'd':
System.out.print("You picked " + (char)c + "\n");
break;
//
case 'b':
case 'c':
arg = g.getOptarg();
System.out.print("You picked " + (char)c +
" with an argument of " +
((arg != null) ? arg : "null") + "\n");
break;
//
case '?':
break; // getopt() already printed an error
//
default:
System.out.print("getopt() returned " + c + "\n");
}
}