i have some strings like:
test.router.router1.ping test.router.hp.upload demo.firewall.router.ping
I’m trying to write a regex that makes the first two string pass, but not the third one. The rule is that if the string contains the word “router” after the first dot and before the second dot it’s ok.
i tried with
[.router.]
but it match every .router. in my string, so also the third one pass.
how can i do that? Thank you
Advertisement
Answer
You may use
^[^.]*.router.
See the regex demo and the regex graph:
Details
^
– start of string[^.]*
– 0+ chars other than.
.router.
– a.router.
substring.
JS demo:
var strs = [ 'test.router.router1.ping', 'test.router.hp.upload', 'demo.firewall.router.ping'] var rx = /^[^.]*.router./; for (var i=0; i<strs.length; i++) { console.log(strs[i], '=>', rx.test(strs[i])) }