java - 通过正则表达式java分割重复的字符串

标签 java regex

从此

    String s = "Paper size: A4Paper size: A3Paper size: A2"; 

我需要获取 A4、A3 和 A2。我怎样才能做到这一点?

    String regex = "Paper size: (.*?)";

    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(s);

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

这将返回空字符串。

编辑:A3、A4、A5处可以是任意字符序列,然后下一个“纸张大小”表示继续下一组

最佳答案

尝试这个正则表达式:

: (.*?)(?:Paper size|$) //global

regex demo输出:

enter image description here

关于java - 通过正则表达式java分割重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37400741/

相关文章:

regex - 当模式包含 "["时,字符串替换不起作用

php - preg_replace 除字符串开头的 + 以外的所有非数字字符

java - 为 JTextFields 设置不同的 inputVerifier

基于套接字的 Java Derby

java - 如何从cachedActions Libgdx继续序列/并行操作

r - 在R中提取直到双下划线的子字符串

javascript - 在javascript中使用正则表达式和replace()替换数组元素

java - 在 HQL NOT IN 子句中指定列表参数

java - 来自父类(super class)的方法

java - 解析并删除java正则表达式中的特殊字符