首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在下一个模式而不是整个字符串中使用end模式的正则表达式?

如何在下一个模式而不是整个字符串中使用end模式的正则表达式?
EN

Stack Overflow用户
提问于 2017-09-19 04:28:58
回答 1查看 24关注 0票数 0

我正在尝试使用正则表达式来查找网站中的类别。我输入了(?<=class="category-section" data-id=")(.*)(?=" id="nav),但它将整个字符串返回给我,我看到它从data-id="之后的第一个模式开始,直到结束模式具有" id="nav

例如:

代码语言:javascript
复制
<div class="category-section" data-id="Motors" id="nav-1">
<div class="category-section" data-id="Fashion" id="nav-2">

我本想让“汽车”和“时尚”杂志参加比赛,但它会回来的。

代码语言:javascript
复制
 Motors" id="nav-1"> <div class="category-section" data-id="Fashion

我不明白...

EN

回答 1

Stack Overflow用户

发布于 2017-09-19 04:34:05

试试这个:

data-id=".*?"

它将返回两个匹配项,然后对应于data-id="Motors"data-id="Fashion"

因此,您可以替换data-id=" sings来获得您想要的值,即内部属性。

编辑1:

通过使用简单的js函数,您可以检索此值:

代码语言:javascript
复制
<div class="category-section" data-id="Motors" id="nav-1">Content1</div>
<div class="category-section" data-id="Fashion" id="nav-2">Content2</div>

<script>
    (function() {
        var data = document.getElementsByClassName('category-section');
        for (var i = 0; i < data.length; i++) {
            console.log(data.item(i).getAttribute('data-id'));
        }
    })();
</script>

输出:

代码语言:javascript
复制
Motors
Fashion
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46287708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档