首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tampermonkey无法使用Regex获取数据

Tampermonkey无法使用Regex获取数据
EN

Stack Overflow用户
提问于 2017-02-19 19:02:13
回答 2查看 225关注 0票数 2

我正在尝试使用JavaScript获取一些与Tamper猴子有关的数据。问题在于regex,我是用RegExr ( app)设计的,它在输入文本上似乎运行得很好:

代码语言:javascript
复制
<div class="yt-lockup clearfix  yt-lockup-video yt-lockup-grid vve-check" data-context-item-id="Rg2PUqmNWe4" data-visibility-tracking="abc">
  <div class="yt-lockup-dismissable">
      <div class="yt-lockup-thumbnail">
  <span class=" spf-link  ux-thumb-wrap contains-addto"><a href="/watch?v=Rg2PUqmNWe4" class="yt-uix-sessionlink" aria-hidden="true" data-sessionlink="videos">  <span class="video-thumb  yt-thumb yt-thumb-196">
<span class="yt-thumb-default">

但是,在代码中,它没有显示警告:

代码语言:javascript
复制
var lis = document.getElementById("data").getElementsByTagName("li");
//alert(lis.length);

var item = lis[0].innerHTML;
alert( item.match( /(?<=data-context-item-id=").*?(?=")/g ) );

如何返回字符串"Rg2PUqmNWe4"?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-19 19:18:55

我认为这是解决这个问题的好办法:

代码语言:javascript
复制
const data = `<div class="yt-lockup clearfix  yt-lockup-video yt-lockup-grid vve-check" data-context-item-id="Rg2PUqmNWe4" data-visibility-tracking="abc">
  <div class="yt-lockup-dismissable">
      <div data-context-item-id="this is also found" class="yt-lockup-thumbnail">
  <span class=" spf-link  ux-thumb-wrap contains-addto"><a href="/watch?v=Rg2PUqmNWe4" class="yt-uix-sessionlink" aria-hidden="true" data-sessionlink="videos">  <span class="video-thumb  yt-thumb yt-thumb-196">
<span class="yt-thumb-default">`

const getData = data => data.match(/data-context-item-id="(.*?)"/g).map(x => x.match(/"(.*?)"/)[1])

console.log(getData(data))

步骤1

data-context-item-id="找到了这部分。

步骤2

(.*?)捕获任何东西直到"

步骤3

map都找到了答案,只获取数据而不使用atribute名称。

正如我在示例中所示,该解决方案的优点是有可能出现多个属性。

票数 2
EN

Stack Overflow用户

发布于 2017-02-19 19:14:45

Javascript引擎不支持查找后断言(?<=...)

使用以下方法:

代码语言:javascript
复制
alert(item.match(/data-context-item-id="([^"]+)"/)[1]);

([^"]+) -匹配除"以外的所有字符

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42331514

复制
相关文章

相似问题

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