gpt4 book ai didi

java - Java 中特殊字符后的正则表达式

转载 作者:行者123 更新时间:2023-12-02 04:59:15 25 4
gpt4 key购买 nike

我正在 java 中使用正则表达式从我的大学的房间列表中获取特定的输出。

列表中的摘录如下所示:

  • (A55:G260) 实验室 260
  • (A55:G292)Grupperom 292
  • (A55:G316)Grupperom 316
  • (A55:G366) 组 366
  • (HDS:FLØYEN)Fløyen(附录)
  • (ODO:PC-STUE) Pulpakammeret (PC-stue)
  • (SALEM:KONF)Konferanserom

我想获取冒号和括号之间的值。

我目前使用的正则表达式是:

pattern = Pattern.compile("[:]([A-Za-z0-9ÆØÅæøå-]+)");
matcher = pattern.matcher(room.text());

我把 ÆØÅ 包括在内,因为有些房间里有挪威字母。

不幸的是,正则表达式在输出中还包含构建代码(例如“A55”)...结果如下:

A55
A55
A55
:G260
:G292
:G316

关于如何解决这个问题有什么想法吗?

最佳答案

问题不在于你的正则表达式。您需要引用group(1)来获取匹配结果。

while (matcher.find()) {
System.out.println(matcher.group(1));
}

但是,您可以考虑使用否定字符类。

pattern = Pattern.compile(":([^)]+)");

关于java - Java 中特殊字符后的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com