[英]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.