一个治疗术
2016-07-06 10:04
采纳率: 50%
浏览 980
已采纳

java正则提取字符串,求解答

{0=房源序号, 1=序号, 2=合同编号, 3=项目名称}

怎么获取=号后面的值

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 北方大闲者 2016-07-06 10:20
    已采纳

    你这个用捕获括号捕获就行,代码如下

     import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class mather {
    
        public static void main(String[] args) {
            // TODO 自动生成的方法存根
            String desStr = "{0=房源序号, 1=序号, 2=合同编号, 3=项目名称}";
            String regex = "\\d=([^,]*)";
            Pattern mPattern = Pattern.compile(regex);
            Matcher mMatcher = mPattern.matcher(desStr);
            while (mMatcher.find()) {
                System.out.println(mMatcher.group(1));
            }
        }
    
    }
    
    打赏 评论
  • threenewbee 2016-07-06 10:27
     "(?<=\\=).+?(?<[\\,\\)])"
    
    打赏 评论
  • threenewbee 2016-07-06 10:28
    " (?<=\\=).+?(?<\\,)"
    
    打赏 评论
  • 毕小宝 2016-07-06 23:12
       等号后面的值包括逗号的呀,可以直接用字符串的split用逗号分隔,直接得到一个数组,再截取每个元素的=后面的值就好了,虽然分两步,也不复杂。
    
    打赏 评论

相关推荐 更多相似问题