簡體   English   中英

在JS中使用Regex在字符串的特定位置中找到特定的模式

[英]Use Regex in JS to find a particular patten in a particular spot in a string

我對正則表達式不是特別堅強。 基本上,我有以下字符串:

Showing 1-20 of 748 results.

我想提取"748" ,將其轉換為數字,並將其用於比較。 正如預期的那樣, "Showing""of" "results""results"預計不會發生變化,但是數字可能會發生變化。 我有幾個解決方案。 首先是使用lookbehinds,但我不相信JS支持它們。 第二個是做一個更直截了當的方法,也許使用match()查找字符串中的所有數字,然后將元素放在返回數組的第三個索引處(應該為"748" )。

關於最佳方法的任何想法?

我會使用正則表達式:

Showing \d+-\d+ of (\d+) results\. 

其中, \\d+分別表示匹配1個或多個數字。 您要查找的數字周圍的括號稱為捕獲組。

因此,如果搜索字符串在str ,則生成的JavaScript可能類似於:

var resultsRe = /Showing \d+-\d+ of (\d+) results\./;
var numResults = resultsRe.exec(str);
console.log("There are " + numResults + " results.");

對於簡單的方法,您可以執行以下操作:

(\d+)\sresults

它所做的只是在單詞結果之前立即捕獲整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM