一、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-tw/n/297195.html