正则表达式中的尖括号(< or >)是否特殊?
我想要得到一个正则表达式来接受<和>作为我的外部分隔符来获取它们之间的所有内容。正则表达式中的尖括号(< or >)是否特殊?
所以内容像这样
<tfdsfa>
应该抓住。
难道我必须逃避<和>字符或什么?
正则表达式我的脚本生成的:从文件
/<[^(>)]*>/g
代码:
data.method.highlight = function() {
var x = data.syntax,
text = data.$.span.html();
for (var i=0, len = x.length; i < len; i++) {
var rx;
if (x[i].range) {
rx = new RegExp(x[i].tag[0] + "[^(" + x[i].tag[1] + ")]*" + x[i].tag[1], "g");
console.log(rx);
}
else {
var temprx = x[i].tag[0];
for (var z = 1; z < x[i].tag.length; z++) {
temprx += "|" + x[i].tag[z];
}
rx = new RegExp(temprx, "g");
}
text = text.replace(rx,function (match) {
console.log("looping - range");
return '<span class="' + x[i].class.default + '">' + match + '</span>';
});
data.$.span.html(text);
}
};
无论<
也不>
是一个正则表达式中的元字符。
这个工作对我来说:
'<foo> and <bar>'.match(/<[^>]*>/g); // ["<foo>", "<bar>"]
你可以看看我所做的编辑。当我在jsfiddle中运行它时,正则表达式起作用,但不在我的脚本中。任何想法如何发生? – 2012-04-10 19:59:21
@MikeDepies,'console.log(rx)'的输出是什么?更具体地说,您发送给RegExp构造函数的精确字符串是什么,“text”的精确值以及结果与期望值之间的关系? – davin 2012-04-10 20:20:42
将问题解决了出来,这要感谢您询问文本结果的最终结果。文本将 2012-04-10 22:12:15
可能是你有问题,因为你试图插入导致成HTML和浏览器“认为”这是一个无效的HTML标记,像<blablabla>
。
你的正则表达式的作品。究竟是什么,你未能实现? – 2012-04-10 19:21:14
任何时候你正在开发正则表达式都可以使用这个工具:http://gskinner.com/RegExr/ – 2012-04-10 19:22:24
你能告诉你如何使用这个表达式吗? – MilkyWayJoe 2012-04-10 19:22:49