0

I'm trying to create a Java regex that will not match a string that:

  • starts with rc-
  • starts with env-
  • is exactly master

So the results should be:

Not a match: `master`
Not a match: `rc-blah`
Not a match: `env-demo`
Not a match: `rc-1.2.34`
Is a match:  `something`
Is a match:  `issuance-fix`
Is a match:  `something-env-blah`
Is a match:  `master-something`
Is a match:  `yes-rc-12.43.56`

Currently I've got ^(?!master|rc-|env-).*$ which is essentially a "doesn't start with" expression. This mostly works but master-something is flagged as a non-match.

I've tried this: ^((?!rc-|env-).*|(?!master))$ which incorrectly flags master as a match.

I've tried various other combinations but I can't seem to get the results I want.

Any help appreciated!

Force Hero
  • 1,456
  • 2
  • 12
  • 25

0 Answers0