Если вы хотите сопоставить ограниченную длину всей строки, используя только регулярные выражения, я думаю, вы можете сделать что-то вроде этого:
var index = 15;
var testString1 = "hi may name is Jone";
var testString2 = "hi sir may name is Jone";
testString1.match("^.{1," + index + "}Jone"); // This will match
testString2.match("^.{1," + index + "}Jone"); // This string is longer and will not match
Объяснение регулярного выражения ^.{1, n}Jone
.
^
: должно соответствовать началу строки.
.{1, n}Jone
: сопоставляет все от 1 до n
до тех пор, пока шаблон не будет полностью сопоставлен.
В этом случае мы определяем n
как index
, поэтому этот «предел» может быть динамическим.
Надеюсь, это поможет!