javascript - 一个简单的js正则问题
本文介绍了javascript - 一个简单的js正则问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
这是我的js代码:
function preg_match_all(rules, str){
let results = [];
//if(isEmpty(rules)) return results;
let exp = eval(rules);
let result;
while( (result = exp.exec(str))!= null){
results.push(result);
}
return results;
}
let str = 'a[class=cl bbda pbm mbm]f';
let rules = '\[(.*?)\]';
let rarr = preg_match_all('/'+rules+'/ig', str);
dlog(rarr);
但输出没东西。
我用php写的:
$str = 'a[class=cl bbda pbm mbm]f';
$rules = "/\[(.*?)\]/isU";
preg_match_all($rules, $str, $out, PREG_SET_ORDER);
print_r($out);
输出:
Array (
[0] => Array ( [0] => [class=cl bbda pbm mbm] [1] => class=cl bbda pbm mbm )
)
这正是我想要的效果,我的js代码出了什么问题呢?死活搞不出来
解决方案
代码有语法错误呗,JS执行遇到错误,后面就不执行了
function preg_match_all(reg, str){
let results = [];
// if(isEmpty(rules)) return results;
var exp=reg;
let result;
while( (result = exp.exec(str))!= null){
results.push(result);
}
return results;
}
var str = 'a[class=cl bbda pbm mbm]f';
var rarr = preg_match_all(/\[(.*?)\]/g, str);
console.log(rarr)
这篇关于javascript - 一个简单的js正则问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文