javascript – 给定更多输入,确定值是否可能与正则表达式匹配
作者:互联网
我目前正在用JavaScript编写一个应用程序,我将输入与正则表达式匹配,但我还需要找到一种方法来将字符串与正则表达式的部分匹配.
例如:
var invalid = "x",
potentially = "g",
valid = "ggg",
gReg = /^ggg$/;
gReg.test(invalid); //returns false (correct)
gReg.test(valid); //returns true (correct)
现在我需要找到一种方法以某种方式确定潜在变量的值与/ ^ ggg $/表达式不完全匹配,但是有更多输入,它可能!
因此,例如在这种情况下,潜在变量是g,但如果再添加两个g,它将匹配正则表达式/ ^ ggg $/
但是在无效的情况下,它无法匹配/ ^ ggg $/表达式,无论你追加多少个字符.
那么如何确定字符串是否具有匹配特定正则表达式的可能性?
解决方法:
试试这个:
var str = "abcdefgh";
var len = str.length;
var reg = "";
for(var i = str.length - 1; i > 0; i--)
{
//replace '(' with '(?:' to make it non capturing.
reg = '(' + str[i] + reg + ')?';
}
reg = "^" + str[0] + reg + "$";
var regex = new RegExp(reg);
标签:javascript,regex,string-matching 来源: https://codeday.me/bug/20190705/1384757.html