Javascript Jquery在字符串中查找模式
我需要使用jquery从字符串中查找路径信息,并将结果推送到数组中 字符串输出如下所示Javascript Jquery在字符串中查找模式,javascript,jquery,regex,Javascript,Jquery,Regex,我需要使用jquery从字符串中查找路径信息,并将结果推送到数组中 字符串输出如下所示 "var rsr = Raphael('rsr', '270', '266'); var path_a = rsr.path('M144.869,199c0,7.659-5.479,13.139-13.14, 13.139 c-7.659,0-14.598-5.479-14.598-13.139s6.209-13.139,13.869- 13.139S144.869,191.341,144.869,
"var rsr = Raphael('rsr', '270', '266');
var path_a = rsr.path('M144.869,199c0,7.659-5.479,13.139-13.14,
13.139 c-7.659,0-14.598-5.479-14.598-13.139s6.209-13.139,13.869-
13.139S144.869,191.341,144.869,199z'); path_a.attr({fill: 'non .... etc"
我需要检索rsr.path()中出现的所有路径信息
我将如何实现这一目标?在我的字符串上使用$。和正则表达式
感谢camJavaScript将允许您使用正则表达式执行此操作:
var s = " var rsr = Raphael('rsr', '270', '266'); var path_a = rsr.path('M144.869,199c0,7.659-5.479,13.139-13.14, 13.139 c-7.659,0-14.598-5.479-14.598-13.139s6.209-13.139,13.869- 13.139S144.869,191.341,144.869,199z'); path_a.attr({fill: 'non .... etc";
var regex = /M144\.869(.+?)869,199z/g;
var matches = regex.exec(s);
匹配项[0]则包含捕获组。我发现此操作有效
$(document).ready(function(){
$('form.svg-convert').submit(function(event){
var content = $(this).find('textarea').val();
process(content);
event.preventDefault();
})
})
var process = function(c){
var content = c,
paths = [];
var contentSplit = content.split('path(');
contentSplit.shift();
$.each(contentSplit,function(i,v){
var path = v.split(')');
path = path[0];
paths.push(path);
});
}
可以使用
eval()
将字符串转换为js,但是eval()
不好,最好先弄清楚为什么脚本在字符串中,然后看看它是否可以改为JSON,或者只是jsHey Kyle,谢谢你的回答,我已经重新编写了这个问题,抱歉这有点误导。