Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does double square brackets [[]] mean in a regex?

I ran into this RegExp /[[0]]/ in JavaScript, and have been wondering what it means.

I know that the outer pair of [] should be use as a character class, but what about the inner pair? I searched in Google and found this link, but "Collating Sequences" doesn't seem to be it 'cuz I can't get /[[.some.]]/ work as this page claims.

Thanks in advance if anyone can give me a hint.

like image 314
Rufus Avatar asked Dec 22 '22 00:12

Rufus


1 Answers

/[[0]]/

is equivalent to:

  • A [ or 0 character, followed by a ] character.
    • Valid matches are:
      • []
      • 0]
    • Invalid matches:
      • [0
    • Valid string, but probably not an expected match:
      • [0] (matches 0])

In other words: /(\[|0)\]/ or /[\[0]\]/
In real words: ( [ or 0 ) plus ].

like image 82
Rob W Avatar answered Jan 08 '23 04:01

Rob W