簡體   English   中英

使用正則表達式提取數字

[英]extract number using regex

我有一個字符串:

name:demo;morestuff.nbvideo:3;morestuff_here:45

從中我需要提取nbvideo號。 我用2個正則表達式來管理它,但是我敢肯定它可以只用一個正則表達式來完成。

這是我現在所擁有的:

// get the nbvideo:XX part
videoPart = sink.tag.match(/nbvideo:([0-9]+)/gi);
// get the number from the video part
videoCount = videoPart[0].match(/([0-9]+)/gi)[0];

如何使用一個正則表達式提取“ nbvideo:”后面的數字?

從修飾符中刪除g並訪問第一個捕獲組值,如下所示:

 var sink_tag = "name:demo;morestuff.nbvideo:3;morestuff_here:45"; var m = sink_tag.match(/nbvideo:([0-9]+)/i); if (m) { videoPart = m[1]; document.body.innerHTML = videoPart; // demo } 

事實是,如果將全局修飾符與正則表達式一起使用,則string#match不會保留捕獲,並且似乎輸入中只有一個nbvideo:<NUMBER> 因此,刪除/g似乎就足夠了。 否則,請在循環中使用RegExp#exec()

暫無
暫無

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

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