我对正则表达式的东西很新。我有这个要求在第一个方括号中拾取内容。
例如如果我有字符串如" PORT-OTEF_RA2 / 6 [Eh0001 / 001-06] [忽略,测试端口]",
我需要结果为" Eh0001 / 001-06"。
我正在使用以下正则表达式。
Pattern pattern =
Pattern.compile("^PORT.+\\[(.*?)\\]");
Matcher matcher =
pattern.matcher("PORT-OTEF_RA2/6 [Eh0001/001-06] [ignore, test port]");
if(matcher.find()){
System.out.println(matcher.group(1));
}
但我总是得到第二个方括号的内容。
但是,如果我将正则表达式作为
Pattern.compile("\\[(.*?)\\]");
我得到了必要的答案。但我需要确保字符串以" PORT"开头。有人可以点我出错的地方。