【发布时间】:2014-04-19 07:05:53
【问题描述】:
所以我只是好奇是否有链接正则表达式的方法。只是想稍微优化一下我的代码。我想找到一个表达式,然后从结果中找到另一个表达式。
工作代码:
match = $('body').html().match(/(\[~\{ .*? \}~\])/g);
console.log(match[0]);
findText = match[0].match(/\w+/);
console.log(findText);
我尝试过的:
match = $('body').html().match(/(\[~\{ .*? \}~\])(\w+)/g);
console.log(match[0]);
出现错误
match = $('body').html().match(/(\[~\{ .*? \}~\])|(\w+)/g);
console.log(match[0]);
找到表达式 1,然后在表达式 1 之外找到表达式 2。
我的 HTML:
[~{ header }~]
<p>This is the home page</p>
[~{ footer }~]
【问题讨论】:
-
您想编写一个真正选择您要查找的内容的正则表达式,而不是将两个部分链接在一起。
.match()是一个 javascript 字符串函数,而不是 jquery 函数,因此 ti 返回一个结果数组(如果没有匹配则返回 null),这使得链接(带有错误控制)变得困难。你到底想在这里实现什么? -
在正文中找到 [~{ 任何 }~],然后从找到的内容中提取任何内容。
-
工作代码部分完全符合我的要求,只是看看我是否可以优化它。
标签: jquery regex optimization match template-engine