本帖最后由 u013156418 于 2014-02-18 14:27:13 编辑

解决方案 »

  1.   

    var a='<!--#############################@ FileName:test.xml@ Date:2014-2-18 14:22:24@ Editor:...@ Version:...@ Log:.......#############################-->'
    var reg=/#+([^#]+)#+/;
    var x=a.match(reg);
    alert(x[1]);
    这样试试
      

  2.   

    谢谢大神!可以用,但是能否讲解一下reg=/#+([^#]+)#+/呢?本人正则菜鸟,谢谢了!
      

  3.   

    var $a ="#############################  \t\n@FileName:test.xml  \t\n@ Date:2014-2-18 14:22:24 \t\n@ Editor:... \t\n#############################  \t\n";
    var $r =/#+\s*\t\n([^#]*)#+\s*\t\n/;
    var $c = $r.exec($a);
    var $result = $c[1];
      

  4.   

    谢谢大神!可以用,但是能否讲解一下reg=/#+([^#]+)#+/呢?本人正则菜鸟,谢谢了!
    他这种方式也可以,取的是子表达式的值,match返回了一个数组,其中x[0]是完整的匹配,其他元素是匹配的子表达式,这个正则只有([^#]+)一个子表达式,那么取x[1]就可以取到子表达式的匹配了
      

  5.   

    谢谢大神!可以用,但是能否讲解一下reg=/#+([^#]+)#+/呢?本人正则菜鸟,谢谢了!
    他这种方式也可以,取的是子表达式的值,match返回了一个数组,其中x[0]是完整的匹配,其他元素是匹配的子表达式,这个正则只有([^#]+)一个子表达式,那么取x[1]就可以取到子表达式的匹配了
    谢谢你的讲解!如果我只想得到FileName的值、Date的值等等,那该怎么做?
      

  6.   

    谢谢大神!可以用,但是能否讲解一下reg=/#+([^#]+)#+/呢?本人正则菜鸟,谢谢了!
    他这种方式也可以,取的是子表达式的值,match返回了一个数组,其中x[0]是完整的匹配,其他元素是匹配的子表达式,这个正则只有([^#]+)一个子表达式,那么取x[1]就可以取到子表达式的匹配了
    谢谢你的讲解!如果我只想得到FileName的值、Date的值等等,那该怎么做?可以在原有的基础上先分割字符串,然后以再获取FileName、Date的值:var str = "FileName:test.xml";
    var reg = /FileName\:(\S*)/;
    var substr = str.match(reg)[1];
    alert(substr);