我試圖把一堆正則表達式更安全,我的意思是更安全,我想要更多的準確性。使正則表達式更安全
所以,我很新的RegExp,我想知道如果我這樣做是正確的(不是正則表達式,但變成更安全)。
所以,我現在就開始了,這是我想要改變的第一個RegExp,我想推01/2011。
過去的正則表達式:
var text = 'INSCRIÇÃO: 60.537.263/0001-66 COMP: 01/2011 COD REC: 150';
var reg = /COMP.*?(\d\S*)/;
var match = reg.exec(text);
console.log(match[1]);
新的RegExp:
var text = 'INSCRIÇÃO: 60.537.263/0001-66 COMP: 01/2011 COD REC: 150';
var reg = /COMP:\s([0-9]{0,2}\/[0-9]{0,4})/;
var match = reg.exec(text);
console.log(match[1]);
這是爲什麼?這個文本只是一個巨大文本的一部分,所以我需要準確性。
其他問題是關於轉正規表達式可選,所以如果不匹配任何東西,返回undefined。
謝謝。
這裏的主要問題是什麼? – anubhava
關於安全性,我想知道第二個RegExp是否安全。 – user98293989823
請定義「RegExp安全性」。你想要處理什麼字符串?至少有什麼樣的模式?看看,如果你總是需要在'COMP:'+空格之後直接匹配用'/'分隔的數字,我們可以推測很多事情(用'*'使空白可選,避免與'{1, 4}'等)我懷疑這個問題可以回答沒有定義**具體的**要求。 –