我正在开发一个 Java 项目,该项目获取基于位置的信息并向用户提供相关信息。在处理此问题时,我在文本文件中获取了以下格式的信息:
[loc.x.1234] has logged in. Connects to [loc.x.983]
[loc.x.3427] has left the room.
信息始终位于方括号 ( [ ] ) 中,格式为 (string.string.string)。
我的目标是从这些文件提要中提取用户信息。我的输出应采用以下格式:
loc.x.1234,loc.x.983
loc.x.3427
虽然我已经编程几个月了,但我不熟悉正则表达式的使用。任何与此相关的帮助表示赞赏。
最佳答案
这可能对您有帮助:
String a="[loc.x.1234] has logged in. Connects to [loc.x.983]" +
"[loc.x.3427] has left the room.";
String regExp="(?<=\\[).*?(?=\\])";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(a);
while(m.find()){
System.out.println(m.group());
}
“(?<=\[)”和“(?=\])”丢弃“[”和“]”
关于java - 基于位置信息的正则表达式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20390383/