[英]Regex for two digit number
如果我做:
var pageNum= 2;
nextLink = http://mydomain.com/?paged=1
nextLink = nextLink.replace(/\/?paged=[0-9]?/, 'paged='+ pageNum);
我懂了
nextLink = 'http://mydomain.com/?paged=2';
但是如果我去:
var pageNum= 12;
nextLink = http://mydomain.com/?paged=10
nextLink = nextLink.replace(/\/?paged=[0-9]?/, 'paged='+ pageNum);
我懂了
netLink = 'http://mydomain.com/?paged=120';
當我想要的時候:
nextLink = 'http://mydomain.com/?paged=12';
因此,如何使用兩位數(11、12、13、14等)並將其替換為pageNum變量(既可以是一位數字又可以是兩位數數字)。
謝謝!
有兩種寫正則表達式的方法來檢查兩位數,每種方法都有自己的目標:
[0-9]+
表示1個或多個數字;
\d\d
表示正好2位數字,也適用於其他基數(例如十六進制)的數字;
[1-9][0-9]
表示10到99之間的任何數字。
[1-9][0-9]?
表示1到99之間的任何數字。
最佳選擇取決於您是否還需要支持三位數,以及是否需要支持第0頁。如果需要三位數,則可以采用Avinash的解決方案。 如果只需要兩位數的數字,請選擇[1-9] [0-9]。 如果您想同時使用一位和兩位數,請選擇我的第四個解決方案。
您的代碼是
nextLink = nextLink.replace(/paged=[0-9]+/, 'paged='+ pageNum);
您未能加上+
,這意味着一次或多次,使其與字符串paged=
后面的一個或多個數字匹配。 還要刪除?
匹配最短的量詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.