我试图把一堆正则表达式更安全,我的意思是更安全,我想要更多的准确性。使正则表达式更安全
所以,我很新的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}'等)我怀疑这个问题可以回答没有定义**具体的**要求。 –