解决方案 »

  1.   

    这个字符串中除了 <input id="checkbox"  type="checkbox" name="checkbox" value="***"/> 之外,还有什么?
      

  2.   

    新年快乐。呵呵。其实也就是一个HTML页面代码了。然后你们很多个checkbox了,它的value值都是value="123342832432";
    里面的数字长度都是一样的。所以我具体的问题其实就是想提取那串数字的。
    你说的之外的东西的话就是其他的HTML页面代码了。很杂。
      

  3.   

    好吧,如果不具体的话很难做,因为不仅仅只有 checkbox 中有 value 的,其他的也可能有!你的需求一点都不明确,有很多东西都没有说清楚,比如:1:HTML 代码都是小写的么?
    2:type="checkbox" 和 value="xxx" 的顺序会巅倒么?
    3:HTML 元素各属性的“=”前后会有空格么?等等之类的东西会影响到匹配结果!给你个参考代码吧,具体的你自己再改进吧public class CheckboxValue {    public static void main(String[] args) {
            
            String str =
                    "<input id=\"checkbox\"  type=\"checkbox\" name=\"checkbox\" value=\"xxx1\"/>\n" +
                    "<input id=\"checkbox\"  type=\"checkbox\" name=\"checkbox\" value=\"xxx2\"/>\n" +
                    "<input id=\"checkbox\"  type=\"checkbox\" name=\"checkbox\" value=\"xxx3\"/>";
            
            Pattern pattern = Pattern.compile( "<input[^>]+type\\s*=\\s*\"checkbox\"[^>]+value\\s*=\\s*\"([^\">]+)\"" );
            Matcher matcher = pattern.matcher( str );
            while ( matcher.find( ) ) {
                System.out.println( matcher.group(1) );
            }
        }
    }
      

  4.   


    嗯,这个就够了,我上面的都写了。
    就是不知道有个matcher.group(1)这个,呵呵。
      

  5.   

    group(1) 需要正则表达式中有“括号对(捕获组)”才可以使用,否则得到的将会是 null