首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要匹配<template>(任何内容)</template>

需要匹配<template>(任何内容)</template>
EN

Stack Overflow用户
提问于 2013-08-01 19:52:17
回答 2查看 77关注 0票数 0

问题是,比赛也不能匹配(任何)(任何),只有第一组。

这里是jsFiddle,我一直在解决这个问题。

http://jsfiddle.net/UFTR2/

代码语言:javascript
复制
var templates = '<template mini-dash-ytd>'+
                    '<span class="mini-dash-title">{{title}}</span>'+
                    '<span class="mini-dash-metric">{{value}}</span>'+
                '</template>'+
                '<template mini-dash-yesterday>'+
                    '<span class="mini-dash-title">{{title}}</span>'+
                    '<span class="mini-dash-metric">{{value}}<span class="mini-dash-performance-{{performance}}"></span></span>'+
                '</template>';

function templatitFind(string) {
    var regex = new RegExp("<template\\s+"+string+">([^;]*)</template>","ig");
    var val = templates.match(regex);
    if (val !== null) return val[0];
}

$(function () {
    console.log(templatitFind('mini-dash-ytd'));
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-01 20:05:24

虽然adeneo将其解析为HTML是正确的,但您也可以通过使重复操作符懒惰和删除全局标志来解决问题。此外,生成的匹配数组中的第一个元素始终是完全表达式匹配。您需要获得第二个元素,以便只获取捕获组的内容。

行变了:

代码语言:javascript
复制
var regex = new RegExp("<template\\s+"+string+">([^;]*?)</template>","i");

代码语言:javascript
复制
if (val) return val[1]; //null is falsey
票数 0
EN

Stack Overflow用户

发布于 2013-08-01 19:59:28

在我看来,几乎像HTML,那么为什么需要正则表达式呢?

代码语言:javascript
复制
var templates = '<template mini-dash-ytd>'+
                  '<span class="mini-dash-title">{{title}}</span>'+
                  '<span class="mini-dash-metric">{{value}}</span>'+
                '</template>'+
                '<template mini-dash-yesterday>'+
                  '<span class="mini-dash-title">{{title}}</span>'+
                  '<span class="mini-dash-metric">{{value}}<span class="mini-dash-performance-{{performance}}"></span></span>'+
                '</template>';

var elems = $('<div />').append(templates);
var first = elems.find('template[mini-dash-ytd]').get(0).outerHTML;

FIDDLE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18003282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档