在javascript脚本中有一个字符串,比如:var str = ";12wqr;xcg34;33;"; 如何获取分号之间的内容(不包括分号)(例子中应捕获的内容应为"12wqr"和"xcg34"和"33")
我是这样写的一个 vat pat = new RegExp("(?=;).*(?=;)","g"); 结果不行
请各位赐教,在下不胜感激!

解决方案 »

  1.   

    用非贪婪模式不过, 不知道JS的正则该怎么写的, 来个C#版的吧 string test = ";dfsdf;121sdf;23;";
    string pattern = @"(;)?(?<txt>.*?);"; System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
    for (System.Text.RegularExpressions.Match m = regex.Match(test); m.Success; m = m.NextMatch())
    {
    string txt = m.Groups["txt"].Value;
    }
      

  2.   


      var str = ";12wqr;xcg34;33;";
      var pat = /;([^;]*)(?=;)/g;
      var arr;

      while((arr = pat.exec(str)) != null ) {
        document.write(arr[1]);
        document.write("<br>");
      }
    试试看:
    页面输出
    12wqr
    xcg34
    33