Java 和 RegEx ..如何应用

标签 java regex

我正在尝试执行以下操作:

            Scanner scanner = new Scanner(file);
            StringBuilder sb = new StringBuilder();
            while (scanner.hasNextLine()) {
                sb.append(scanner.nextLine() + "\n");
            }

            String data = sb.toString();

            Pattern p = Pattern.compile("\b[ABD-Z]*C[ABD-Z]*\b");
            Matcher m = p.matcher(data);

            String a = m.group();

如何访问m的结果?为什么我的正则表达式不起作用?

我已经尝试过转义反斜杠。

它适用于 http://www.gskinner.com/RegExr/但我无法从 Java 获得任何输出。

请帮忙≥..谢谢。

最佳答案

您需要使用 m.find() 或者 m.match() 最有可能在 while 循环中。

while (m.find()) {
 do something with m.group()
}

关于Java 和 RegEx ..如何应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4749691/

相关文章:

java - 在 Spring Boot 中获取 EntityManager 的句柄

python - 正则表达式:查找句点之后、最后一个斜杠之前的所有内容

python - 如何使用字典值在 Python 中进行正则表达式替换,其中键是来自同一字符串的另一个匹配对象

java - 使用phpmyadmin中的服务器上的查询重命名mysql中的数据库名称

java - 使用 Java 扫描器比较两个文件时的 NoSuchElementExcpetion

Java 库截断 html 字符串?

java - JXDatePicker 使用 SimpleDateFormat 将 dd.MM.yy 格式化为当前世纪的 dd.MM.yyyy

java - 如何使用apache poi复制excel中的下拉列表?

python - 确定字符串在 Python 中是否有 3 个或更多重复的连续字符

javascript - 即使没有代码更改,正则表达式也会替换 #test 的值