js正则提取详解

一、js正则提取文章

在实际的开发中,我们常常需要从一篇文章中提取出某些信息,比如文章标题、作者、发布日期等等。这时候,就可以使用js正则表达式进行提取。

比如,我们要从下面的一篇文章中提取出标题、作者、发布日期等信息:

<div class="article">
  <h2 class="title">这是文章标题</h2>
  <p class="author">作者:小明</p>
  <p class="date">发布日期:2020-10-01</p>
  <p>这是文章正文内容</p>
</div>

我们可以使用如下正则表达式进行提取:

const text = `<div class="article">
  <h2 class="title">这是文章标题</h2>
  <p class="author">作者:小明</p>
  <p class="date">发布日期:2020-10-01</p>
  <p>这是文章正文内容</p>
</div>`;

const titleReg = /<h2.+?>(.+?)<\/h2>/i;
const authorReg = /作者:(.+)/i;
const dateReg = /发布日期:(.+)/i;

const title = text.match(titleReg)[1];
const author = text.match(authorReg)[1];
const date = text.match(dateReg)[1];

上面的代码利用正则表达式分别提取出了标题、作者、发布日期,并将它们存储在对应的变量中。

二、js正则提取多个文本

有时候,我们需要从一段文本中提取出多个子串,可以使用正则表达式的全局匹配(g)来实现。

比如,我们要从下面的一段文本中提取出所有的数字:

const text = "这里有100个苹果和200个梨子。";

const numReg = /\d+/g;

const nums = text.match(numReg);

上面的代码中,numReg使用了全局匹配,将所有的数字都提取出来存储在nums数组中。

三、js正则提取文字

有时候,我们需要从一段文本中提取出中文或英文文字,并去除其中的标点符号。这时候,就可以使用正则表达式。

比如,我们要从下面的一段文本中提取出中文或英文文字:

const text = "这是一个有标点符号的文本,包括:句号.逗号,分号;冒号:引号“”和‘’等等!";

const wordReg = /[a-zA-Z\u4E00-\u9FA5]+/g;

const words = text.match(wordReg);

上面的代码中,wordReg使用了[a-zA-Z\u4E00-\u9FA5]+这个正则表达式,它能够匹配到中英文文字,并将它们提取出来存储在words数组中。

四、js正则提取加减乘除符号

有时候,我们需要从一段表达式中提取出加减乘除符号。这时候,就可以使用正则表达式。

比如,我们要从下面的一段表达式中提取出加减乘除符号:

const expr = "1+2-3*4/5";

const opReg = /[\+\-\*\/]/g;

const ops = expr.match(opReg);

上面的代码中,opReg使用了[\+\-\*\/]这个正则表达式,它能够匹配到加减乘除符号,并将它们提取出来存储在ops数组中。

五、js正则提取日期

有时候,我们需要从一篇文章或一段文本中提取出日期。这时候,就可以使用正则表达式。

比如,我们要从下面的一段文本中提取出日期:

const text = "今天是2020年10月1日,国庆节。";

const dateReg = /\d{4}年\d{1,2}月\d{1,2}日/g;

const dates = text.match(dateReg);

上面的代码中,dateReg使用了\d{4}年\d{1,2}月\d{1,2}日这个正则表达式,它能够匹配到日期,并将它们提取出来存储在dates数组中。

六、js正则提取链接

有时候,我们需要从一篇文章或一段文本中提取出链接。这时候,就可以使用正则表达式。

比如,我们要从下面的一篇文章中提取出链接:

const text = `这是一篇文章,包含了一些链接:
  <a href="https://www.baidu.com">百度</a>
  <a href="https://www.google.com">谷歌</a>
`;

const linkReg = /<a\s+href="(.+?)">(.+?)<\/a>/g;

const links = [];
let match;

while ((match = linkReg.exec(text)) !== null) {
  links.push({
    href: match[1],
    text: match[2]
  });
}

上面的代码中,linkReg使用了<a\s+href="(.+?)">(.+?)<\/a>这个正则表达式,它能够匹配到链接,并将它们提取出来存储在links数组中。在这个例子中,我们使用了循环和exec方法来逐个提取链接。

七、js正则提取加减符号

有时候,我们需要从一篇文章或一段文本中提取出加减符号。这时候,就可以使用正则表达式。

比如,我们要从下面的一段文本中提取出加减符号:

const text = "5+4-3+2-1";

const signReg = /[\+\-]/g;

const signs = text.match(signReg);

上面的代码中,signReg使用了[\+\-]这个正则表达式,它能够匹配到加减符号,并将它们提取出来存储在signs数组中。

八、js正则提取特定字符串

有时候,我们需要从一段文本中提取出特定的字符串。这时候,就可以使用正则表达式。

比如,我们要从下面的一段字符串中提取出以abc开头的字符串:

const text = "abc111abc222abc333";

const abcReg = /abc\d+/g;

const abcs = text.match(abcReg);

上面的代码中,abcReg使用了abc\d+这个正则表达式,它能够匹配到以abc开头的字符串,并将它们提取出来存储在abcs数组中。

九、js正则提取2020

有时候,我们需要从一段文本中提取出特定的数字。比如,我们要从下面的一段文本中提取出2020这个数字:

const text = "这是一段包含2020的文本。";

const yearReg = /2020/;

const year = text.match(yearReg)[0];

上面的代码中,yearReg使用了2020这个数字作为正则表达式,它能够匹配到2020这个数字,并将它提取出来存储在year变量中。

十、js正则提取连续的数字选取3~5个

有时候,我们需要从一段文本中提取连续的数字,并且这些数字的长度在3~5位之间。这时候,就可以使用正则表达式。

比如,我们要从下面的一段文本中提取出连续的数字,长度在3~5位之间:

const text = "这里有123456789和98765,还有1234和56789。";

const digitReg = /\b\d{3,5}\b/g;

const digits = text.match(digitReg);

上面的代码中,digitReg使用了\b\d{3,5}\b这个正则表达式,它能够匹配到连续的数字,长度在3~5位之间,并将它们提取出来存储在digits数组中。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/297195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-28 12:15
下一篇 2024-12-28 12:15

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • 解析js base64并转成unit

    本文将从多个方面详细介绍js中如何解析base64编码并转成unit格式。 一、base64编码解析 在JavaScript中解析base64编码可以使用atob()函数,它会将b…

    编程 2025-04-29
  • Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的解决方法

    本文将解决Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的问题。同时,给出一些相关示例代码,以帮助读者更好的理解并处理这个问题。 一、问题解…

    编程 2025-04-29
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28
  • JS图片沿着SVG路径移动实现方法

    本文将为大家详细介绍如何使用JS实现图片沿着SVG路径移动的效果,包括路径制作、路径效果、以及实现代码等内容。 一、路径制作 路径的制作,我们需要使用到SVG,SVG是可缩放矢量图…

    编程 2025-04-27
  • 如何使用JS调用Python脚本

    本文将详细介绍通过JS调用Python脚本的方法,包括使用Node.js、Python shell、child_process等三种方法,以及在Web应用中的应用。 一、使用Nod…

    编程 2025-04-27
  • 如何反混淆美团slider.js

    本文将从多个方面详细阐述如何反混淆美团slider.js。在开始之前,需要明确的是,混淆是一种保护JavaScript代码的方法,其目的是使代码难以理解和修改。因此,在进行反混淆操…

    编程 2025-04-27
  • Python要学JS吗?

    Python和JavaScript都是非常受欢迎的编程语言。然而,你可能会问,既然我已经学了Python,是不是也需要学一下JS呢?在本文中,我们将围绕这个问题进行讨论,并从多个角…

    编程 2025-04-27
  • 解决js ajax post 419问题

    对于使用ajax post请求时出现的419问题,我们需要进行以下几个方面的阐述,包括返回码的含义、可能出现的情况、解决方案等内容。 一、解析419返回码 419返回码表示用户超时…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25

发表回复

登录后才能评论