代码之家  ›  专栏  ›  技术社区  ›  Jono

java中正则表达式的问题

  •  0
  • Jono  · 技术社区  · 14 年前

    大家好,我想从下面的文本中找出一个简单的正则表达式:

    <b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />
    

    我基本上只想输出和存储 Photomatix.Pro公司.v4.0.64位FOSI i、 e.实际值在 但当我这样定义它时:

    private static final String REG_NAME = "<b>Name:</b>(.*)<br />";
    

    它实际上存储并输出整个 <b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />

    关于如何从上面的xml文本中提取给定的值,有什么想法吗?提前干杯

    4 回复  |  直到 14 年前
        1
  •  6
  •   mgamer    14 年前

    这应该起作用:

      final String REG_NAME = "<b>Name:</b>(.*)<br />";
    
            String text = "<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />";
    
            Pattern pattern = Pattern.compile(REG_NAME);
    
            Matcher matcher = pattern.matcher(text);
    
            if (matcher.find()) {
                System.out.println(matcher.group(1));
            }
    
        2
  •  1
  •   Steve Claridge    14 年前
    String r = "/b>(.*)<b";
    
    Pattern p = Pattern.compile( r );
    Matcher m = p.matcher( "<b>Name:</b> Photomatix.Pro.v4.0.64bit-FOSI<br />" );
    
    if ( m.find() )
    {
      System.out.println( "found: " + m.group(1) );
    }
    
        3
  •  0
  •   DerMike Vladimír Schäfer    14 年前

        4
  •  0
  •   virgium03    14 年前

    嗯,我不认为用regex解析html是个好主意,你应该用一些htmljava解析器。但是,如果您想使用正则表达式,可以在这里查看一些示例: Regular Expressions