尖括号(<或>)在正则表达式中是否特殊? [英] Are the angle brackets (< or >) special in a regular expression?

查看:2695
本文介绍了尖括号(<或>)在正则表达式中是否特殊?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用正则表达式来接受<和>作为我的外部分隔符来获取它们之间的所有内容。

I am trying to get a regex expression to accept < and > as my outside delimiters to grab all the content in between them.

所以像这样的内容

< tfdsfa  >

应该被抓住。

我是不得不逃避<和>字符什么?

Do I have to escape the < and > characters or something?

我的脚本生成的正则表达式:

Regex generated by my script:

/<[^(>)]*>/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);
    }
};


推荐答案

< 也不是> 是正则表达式中的元字符。

Neither < nor > are metacharacters inside a regular expression.

这对我有用:

'<foo> and <bar>'.match(/<[^>]*>/g); // ["<foo>", "<bar>"]

这篇关于尖括号(&lt;或&gt;)在正则表达式中是否特殊?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆