[英]How to handle (\w+)+? regex as string list in pattern matching scala
我正在开发一个scala项目。 实际上,我应该创建一些命令,例如CLI命令。 例如:退出,帮助,加载文件名,查找名称。 我想用正则表达式模式匹配来处理这些命令。 但是我有一些问题。 如果字符串是“加载文件名”,则可以处理文件名。 但是,如果字符串是“ load filename1 filename2”,则无法一起处理filename1和filename2。
我的代码如下:
val help = """help""".r
val exit = """exit""".r
val load = """load(\s+\w+)+?\s*""".r
val find = """findbyName(\s+\w+)+?\s*""".r
val input = "load filename1"
input match {
case help() => println("help")
case exit() => println("exit)
case load(filename) => println(filename)
case find(name) => println(name)
case _ => println "error"
}
***********************
console: filename1
如果n个文件名,我想打印所有文件名。 我该如何进行?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.