我正在创建一个软件,它接收来自用户的某些参数的命令,我想知道将命令与正则表达式模块生成的一组可能模式匹配的最佳方法,以及模式是匹配后,命令字符串中的必需参数被指定为变量,并可能切换布尔变量,以便在其他方法中使用。
目前,我正在使用switch语句检查命令字符串中的第一个单词,但我想转到正则表达式以允许更复杂的命令模式。
例如,这就是我的代码目前的样子:
class Main{
public static void process_cmd(String command){
inputs = command.split(" ");
switch(inputs[0]) //where inputs[0] is the actual command
case "quit": System.exit(0);
case "connect":
if (!inputs[1].isEmpty()) //and other parts of the string are args for the command
doSomething(inputs[1]);
break;
case "blah":
doSomethingElse(inputs[1]);
break;
case ...
...
}
public static void main(String args[]){
//loop to scan console input goes here
process_cmd(Scanner.nextLine());
}
}
我希望将命令传递给regex模块,并能够使用模式匹配从字符串中提取信息。
感谢任何帮助,谢谢