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/zh-hant/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

發表回復

登錄後才能評論