C#中的Regex r = new Regex(@"[{](?<name>[^}]*)[}]");
如果替换成Java 中的Pattern该如何处理?

解决方案 »

  1.   


    public boolean regExpParse(String patten,String input)
        {
         boolean flag = false;
         PatternCompiler compiler = new Perl5Compiler();
    PatternMatcher matcher = new Perl5Matcher();
    String regexpTag = patten;
    Pattern patternTag = null;
    try {
    patternTag = compiler.compile(regexpTag,Perl5Compiler.CASE_INSENSITIVE_MASK);
    } catch (MalformedPatternException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    if(matcher.contains(input, patternTag))
    {
    flag = true;
    }
         return flag;
        }
      

  2.   

    没看懂你的问题 是些Java 的正则表达式呢 还是什么的 ?
      

  3.   

    就相当于这个:"[{]([^}]*)[}]"
    但java不支持对捕获组的命名,所以?<name>没有办法实现。
      

  4.   

    可以用索引哦,java中的正则有索引的,
      

  5.   

    使用group搞定了,结贴给分了,多谢帮助