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]); 这样试试
谢谢大神!可以用,但是能否讲解一下reg=/#+([^#]+)#+/呢?本人正则菜鸟,谢谢了!
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];
var reg=/#+([^#]+)#+/;
var x=a.match(reg);
alert(x[1]);
这样试试
var $r =/#+\s*\t\n([^#]*)#+\s*\t\n/;
var $c = $r.exec($a);
var $result = $c[1];
他这种方式也可以,取的是子表达式的值,match返回了一个数组,其中x[0]是完整的匹配,其他元素是匹配的子表达式,这个正则只有([^#]+)一个子表达式,那么取x[1]就可以取到子表达式的匹配了
他这种方式也可以,取的是子表达式的值,match返回了一个数组,其中x[0]是完整的匹配,其他元素是匹配的子表达式,这个正则只有([^#]+)一个子表达式,那么取x[1]就可以取到子表达式的匹配了
谢谢你的讲解!如果我只想得到FileName的值、Date的值等等,那该怎么做?
他这种方式也可以,取的是子表达式的值,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);