Regular expressions·a JWT split by two dots
Ad

Claim your crypto exchange bonus

Bonuses you get just for signing up. Terms are copied straight from each exchange.

a JWT split by two dots

Matches a JWT split by two dots. It is anchored at both ends, so the whole string has to match. There are no capture groups.

Pattern
/^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$/
Match scope
the whole string
Capture groups
0
What it catches in the first example
eyJhbGciOiJIUzI1NiJ9.eyJhIjoxfQ.sig

Try it yourself

Type any text and the parts this expression catches are highlighted. It runs in your browser and is never sent anywhere.

eyJhbGciOiJIUzI1NiJ9.eyJhIjoxfQ.sig

1 match

Examples that match

  • eyJhbGciOiJIUzI1NiJ9.eyJhIjoxfQ.sig

Examples that do not match

  • abc.def
  • abc

Other expressions in this group

How to read this

  • With ^ and $ around it, the whole string must match; without them the match can sit anywhere. Always anchor an expression you use for validation.
  • Round brackets ( ) capture what they wrap. When you only need grouping, write (?: ) so the numbering of later groups does not shift.
  • Every expression here is checked against its examples. Even so, "looks like an email" and "is a real inbox" remain different questions.
  • Nested open-ended repeats such as (a+)+ can blow up on certain inputs. Look for that shape before pasting someone else’s expression into your code.

Frequently asked questions

QWhat is the regex for a JWT split by two dots?

^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]*$.

QWhich strings match?

Text like eyJhbGciOiJIUzI1NiJ9.eyJhIjoxfQ.sig matches; text like abc.def does not.

QDoes the whole string have to match?

Yes. It is wrapped in ^ and $, so nothing but a full match passes.

QHow do I use what it caught?

There are no capture groups, so only the whole match (match[0]) comes back. Wrap the part you need in brackets to capture it.