正则 - 单词边界 /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; }
勤于总结 乐于分享