Search code examples
regex

How to ignore white space with regex?


Here is my regex:

^(SK{1}[0-9]{8})$

But I want text like this:

SK 283 92758
SK 283 92 7 58

to be taken as this:

SK28392758

It is possible?


Solution

  • Use the "optional" quantifier ? for a space between each character:

    ^S ?K ?(\d ?){7}\d$
    

    This allows an optional space between the characters.
    To allow any number of spaces, replace every ? with *.

    See live demo.

    I also removed unnecessary brackets:

    • {1} is pointless
    • the brackets around the whole thing are unecessary; group 0, which is the whole match, is always available is you absolutely need a capture group