递归 |(?R)
从<div><div>广告</div>标题</div>
中取到 标题
先去掉最外层的
取最少 (.+?)
$mach = "/<div>(.+?)<\/div>/";
<div>广告
取最多 (.+)
$mach = "/<div>(.+)<\/div>/";
string(23) "<div>广告</div>标题"
额外多出一些div 标签 干掉
$mach = "/<div>([^<>].+?)<\/div>/";
得到 广告
取最少比较符合但是不要广告要标题怎么破 这个时候就要使用到递归了
$mach = "/<div>([^<>]+|(?R))*<\/div>/";
得到 标题
去空格
字符串替换 str.replace('被替换掉的字符串','替换成的内容');
这里
'被替换掉的字符串' 如果是正则的话千万不要写' ' 否者不能正常使用 他会把你写的正则当做字符串来替换
空格在正则中用\s
表示
var str = " hello world ";
// str = str.replace(/^\s+/g,''); // 仅替换掉掉行首的空格
// str = str.replace(/\s+$/g,'');//替换掉行末的空格
//str = str.replace(/\s+/g,'');// 同时干掉所有空格
str = str.replace(/^\s+|\s$/g,'');//一句话同事替换掉行首与行末
// alert(str.replace(/^\s+/g,''));
console.log("--"+str+"--")
网友评论