我有一个带有几个div的html页面。每个div都有以下类之一:tabCurrent,tabVisit,tabNext。我正在尝试搜索string.className并获取以“tab”开头的子字符串,但返回完整的单词tabCurrent等。
我尝试过各种函数,比如string.match(/ tab \ w /),string.exec(),string.includes()。很多函数在字符串中找到字符串,只返回一个Boolean..Or,你需要知道索引和长度。有没有一种很好的方法可以在不使用while循环的情况下从已知索引开始并持续到一个空格来构建字符串?
编辑:我重写了我的问题
说我有一个字符串
var className = 'someClass tabCurrent tabVisit someOtherClass';
我想获得以“tab”开头的类。我正在尝试使用string.match()实现此目的。是否有传递的正则表达式可以实现这一点?
答案 0 :(得分:0)
你走了。
/^tab/
var divs = document.getElementsByTagName('div');
var classRegex = /^tab/;
var matchedClasses = [];
for (var i = 0; i< divs.length; i++) {
var currentDiv = divs[i];
var className = currentDiv.className;
var classNames = className.split(' ');
for (var curClass of classNames) {
if (curClass.match(classRegex)) {
matchedClasses.push(curClass);
}
}
}
console.log(matchedClasses)
<div class="tabCurrent"></div>
<div class="wrapper tabOther tab-three"></div>
<div class="different"></div>
答案 1 :(得分:0)
这将返回<div class="tabCurrent">
的“tabCurrent”:
div.className.match(/tab.+/g);
答案 2 :(得分:0)
如果只有一个myvar = 0
def function_1():
global myvar
myvar = 1
}
def function_2():
print(myvar)
}
课程,您可以使用以下匹配项:
tabSomething
对于多个匹配,您必须在正则表达式上启用全局'someOtherClass tabVisit'.match(/\btab.+?\b/); //['tabVisit']
标记。