我正在尝试为这样的命令获取匹配项;
[AUTR| <version_software> | <version_protocol> | <msg> ]
[PING]
找到与第一个命令匹配的正则表达式是什么?
AUTR
version_software
version_protocol
msg
这是解析的代码:
String[] tokens = msg.replace('<',' ').replace('>',' ').replace('[', ' ').replace(']', ' ').split("\\|");
for (int i=0; i<tokens.length; i++) tokens[i] = tokens[i].trim();
我只是想知道如何使用正则表达式解决方案来完成。
编辑:
我正在尝试使用更简单的表达式匹配组,并且使用此代码调用 m.groupCount 返回一个...但是当我尝试打印它时...它抛出此异常“java.lang.IllegalStateException:找不到匹配项"
Pattern pattern = Pattern.compile("([\\w+])");
Matcher m = pattern.matcher("[AUTR]");
for (int i=0; i<m.groupCount();i++)
{
System.out.println(m.group(i));
}