I want to check if a string ends with
- v{number}
So for example
hello world false
hello world - v2 true
hello w
Just use this without checking anything else in the beginning
- v\d+$
This way you make sure it ends with - v
followed by at least one digit. See it live in https://regex101.com/r/pB6vP5/1
Then, your expression needs to be:
var patt = new RegExp("- v\\d+$");
As stated by anubhava in another answer:
/
\d
.var str = 'hello world - v15';
var patt = new RegExp("- v\\d+$");
var res = patt.test(str);
console.log(res);
This is a solution that achieves the same results without a Regex. Worth giving it a try.
function stringEndsWithVersionNum(string)
{
var parts = string.split('- v');
if(parts[0] !== string) //if the string has '- v' in it
{
var number = parts[parts.length -1].trim();//get the string after -v
return !isNaN(number) && number.length > 0;//if string is number, return true. Otherwise false.
}
return false;
}
Please use like so:
stringEndsWithVersionNum('hello world - v32')//returns true
stringEndsWithVersionNum('hello world - v'); //returns false
stringEndsWithVersionNum('hello world'); //returns false