比如一个字符串
今天{}早上{xxx}在{yyy}吃了一个{zzz}.
我想匹配出
{}
{xxx}
{yyy}
{zzz}
这四个,我试过 {.+?},但是匹配不出第一个{}

解决方案 »

  1.   

    confirm("今天{}早上{xxx}在{yyy}吃了一个{zzz}".match(/{\w*}/g));
      

  2.   


    public class RegTest{
      public static void main(String rags[]){
          String source="今天{}早上{xxx}在{yyy}吃了一个{zzz}.";
          java.util.regex.Pattern p=java.util.regex.Pattern.compile("\\{.*?\\}");
          java.util.regex.Matcher m=p.matcher(source);
          while(m.find()){
             System.out.println(m.group());
          }   
      }
    }
      

  3.   

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class test {
    public static void main(String[] args) {
    String regex = "\\{.*?\\}";
    String input = "今天{}早上{xxx}在{yyy}吃了一个{zzz}.";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(input);
    while (m.find()) {
    System.out.println(m.group());
    }
    }
    }{}
    {xxx}
    {yyy}
    {zzz}
      

  4.   

    public static void main(String []args){

    Pattern p = Pattern.compile("(\\{[^}]*\\})");
    String str = "今天{}早上{xxx}在{yyy}吃了一个{zzz}. ";
    Matcher m = p.matcher(str);
    while(m.find()){
    System.out.println(m.group(1));
    }


    }