java 正则表达式匹配器

标签 java regex matcher

 codes = new Vector<String>();
 titles = new Vector<String>();
 urls = new Vector<String>();
 lecturers = new Vector<String>();
 while (m.find()) {
    String courseCode = m.group(1);
    String courseTitle = m.group(2);
    String courseURL = url;
    String lecturerName = m.group(4);
    codes.add(courseCode);
    titles.add(courseTitle);
    urls.add(courseURL);
    lecturers.add(lecturerName);
 }

我正在尝试从大约 10 个网站获取数据,如果你只打印每个组本身,它就可以正常工作,例如: system.out.println(类(class)代码); 打印出 10 个 courseCode 的列表,但是当我尝试将它们添加到这些 vector 中时,它只添加最后一个 courseCode,而不是每一个。所以每个 vector 应该有大约 10 个元素,但它们只有 1 个。有没有办法像迭代匹配一样?

最佳答案

也许正则表达式只匹配一次而不是 10 次。如果你计算一下 while 循环的迭代次数,你可以检查这一点。最简单的方法是定义一个帮助变量 int i=0; 并在循环内使用 i++; 增加该值(并在循环内部或外部打印它)。还要在 while 循环内使用 list.size() 检查 vector 的大小,以查看大小实际增长情况。

关于java 正则表达式匹配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2393866/

相关文章:

java - Java JRE 的安装基础?

java swing按钮 Action

Python正则表达式捕获单个字符字母

Python 正则表达式 : extract multiple matching groups

c++ - 谷歌模拟 :Testing a Certain Property of an Object

java - 在 Java 中将方法作为参数传递以将监听器分配给多个按钮

java - JVM 在 System.exit(1) 后仍然存在

php - 如何从 PHP 中的字符串中删除多个空格和换行符?

java - Spring Security 4 自定义匹配器

java - 如何获取字符串中正则表达式的第一个匹配项?