Home > Software design >  Regex: how to match characters except the group
Regex: how to match characters except the group

Time:08-03

I need a regular expression able to match everything but not the group.

For example, I want to match 's/.../.../g' with regex 's([^ ])[^\1]*\1[^\1]*\1g?' but it will match 's/////////g', where [^\1] didn't work.

Is there any solutions?

CodePudding user response:

You can use a Tempered Greedy Token:

s(\S)(?:(?!\1).)*?\1(?:(?!\1).)*?\1g

Demo & explanation

  • Related