程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 正則表達式-【已解決】正則 零寬斷言 匹配一個單詞後的第一個數字

正則表達式-【已解決】正則 零寬斷言 匹配一個單詞後的第一個數字

編輯:編程綜合問答
【已解決】正則 零寬斷言 匹配一個單詞後的第一個數字

比如
[CM][bt][02][03]
我想匹配 02

我的正則是這樣寫的:

i)(?<=\bCM\b(\D*)?)\d+(?=\D)

但無法匹配成功,請問該怎樣改呢?

感謝各位!
正則本身沒錯...錯的是
PCRE 8.34–8.35 UTF-8 does not support variable repetition inside lookbehind or alternatives of different lengths inside groups inside lookbehind

最佳回答:


            var str = '[CM][bt][02][03]';
    str = str.replace(/\[/gi,"@").replace(/\]/gi,"@");
    var reg = /\w+@{2}\d+/gi;
    var arrMatches = str.match(reg);
        for(var i = 0 ; i < arrMatches.length; i++){
            console.log( arrMatches[i].replace(/\D/gi,""));
        }
由於[]是正則表達式的元字符,先把它替換成@,查找單詞開始,跟著@@,再數字的表達式,獲取表達式後去除非數字的,最後得到數字02                  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved