美文网首页
js利用正则表达式解析超链接

js利用正则表达式解析超链接

作者: yahzon | 来源:发表于2020-01-15 16:53 被阅读0次

目标:在文本中,找到<a>元素,解析超链接,提取链接地址和链接文字。

素材:

<a href="/CKFinderJava/userfiles/files/xxxx.pdf">手机验证说明</a>
some text
<br />
<br />
<a href="/somesite/something.xxx">这是一个链接</a><br />

正则表达式

<a\s+href\s*=\s*[\\"|"](.+)[\\"|"]>(.+)<\/a>

代码v0.01:
bug: 正则表达式被替换成链接地址、文字,其余的东东留了下来。

const regexp =  /<a\s+href\s*=\s*[\\"|"](.+)[\\"|"]>(.+)<\/a>/g;
let href_text = str.replace(regexp, "$2");
let href_uri = str.replace(regexp, "$1");
console.log(href_text);
console.log(href_uri);

需要改进:
先提取出正则表达式,匹配成数组,然后替换。只保留链接文字,链接地址。

attachList = [];
const regexp =  /<a\s+href\s*=\s*[\\"|"](.+)[\\"|"]>(.+)<\/a>/gi;                                               
str.match(regexp).forEach( item=> {
  //console.log(`item is ${item}`);
  let attach = {};                          
  attach.text = item.replace(regexp,'$2');
  attach.uri = item.replace(regexp,'$1');
  attachList.push(attach);
});

相关文章

  • js利用正则表达式解析超链接

    目标:在文本中,找到 元素,解析超链接,提取链接地址和链接文字。 正则表达式 代码v0.01:bug: 正则表达式...

  • window打开新窗口

    一、关闭当前页面,打开新的页面 (1)方法一:利用超链接 超链接 Welcome (2)方法二:利用js来跳转页面...

  • window.open新打开同一个窗口,每次打开同一个窗口

    一、保留当前页面,打开一个新的tab页面 (1)方法一:利用超链接 超链接 Welcome (2)方法二:利用js...

  • 07、BeautifulSoup库详解

    1、什么是BeautifulSoup? 灵活又方便的网页解析库,处理高效、支持多种解析器。利用它不用编写正则表达式...

  • 爬虫:05.BeautifulSoup库

    4. BeautifulSoup 灵活又方便的网页解析库,处理高效,支持多种解析器。利用它不用编写正则表达式即可方...

  • Python之BeautifulSoup

    BeautifulSoup是什么 一个灵活方便的网页解析库,处理高效,支持多种解析器 利用他不用编写正则表达式即可...

  • 网页打开新窗口的几种方法

    一、关闭当前页面,打开新的页面 方法一:利用超链接 方法二:利用js来跳转页面——(在同当前窗口中打开窗口) 二、...

  • a标签于js的生死纠葛

    一、JS打开新窗口的2种方式 超链接 等效于js代码 超链接 等效于js代码 二、a标签中调用js的几种方法 我们...

  • 双引号变成转义字符"解决办法

    Java中:利用StringEscapeUtils.unescapeHtml4强转 JS中:用正则表达式将转义字符...

  • Nodejs路由初步

    基本思路:获取一个url,到server.js去解析,用正则表达式从pathname中解析出根目录后面的东西,在r...

网友评论

      本文标题:js利用正则表达式解析超链接

      本文链接:https://www.haomeiwen.com/subject/teptzctx.html