正则 - 单词边界 /b

w3school的解释:

\b 元字符匹配单词边界。(这里的单词指的是\w匹配的数字、字母、下划线 :[a-zA-Z0-9])

在单词边界匹配的位置,单词字符后面或前面不与另一个单词字符直接相邻。请注意,匹配的单词边界并不包含在匹配中。换句话说,匹配的单词边界的长度为零。

提示:\b 元字符通常用于查找位于单词的开头或结尾的匹配。

另外:"\b"只有在字符组中,它表示的是退格键,即 [a-z\b]


写一个根据class查找DOM元素的函数(复杂版):

function getByClass(oPare, sCla) {   //oPare为查找上下文节点,sCla为查找的class
        var oChildren = oPare.children;
        var len = oChildren.length;
        var i = 0;
        var arr = [];
        var arr1=[]
        for (i; i < len; i++) {
            var sClass = oChildren[i].className;
            arr = sClass.split(" ");
            for (var j = 0; j < arr.length; j++) {
                if (arr[j] == sCla) {
                    arr1.push(oChildren[i]);
                    break;
                }
            }
        }
        return arr1;
    }

或者可以利用正则 的 \b:

function getByClass(oPare, sCla) {
        var oChildren = oPare.children;
        var len = oChildren.length;
        var i = 0;
        var arr1 = [];
        var regExp = new RegExp('\\b' + sCla + '\\b', 'i');
        console.log(regExp)
        for (i; i < len; i++) {
            var sClass = oChildren[i].className;
            if (sClass.search(regExp) != -1) {
                arr1.push(oChildren[i])
            }
        }
        return arr1;
    }




posted @ 2014-07-31 13:43  hdchangchang  阅读(378)  评论(0编辑  收藏  举报