JavaScript / ECMAScript

Binary Number Literal in JS

Match binary number literals like `0b1010` or `0B11110000`.

Try it in the JS tester →

Pattern

regexJS
\b0[bB][01]+\b   (flags: g)

JavaScript / ECMAScript code

jsJavaScript
const re = new RegExp("\\b0[bB][01]+\\b", "g");
const input = "Mask = 0b1010, halfbyte = 0B1111";
const matches = [...input.matchAll(re)];
console.log(matches.map(m => m[0]));

Uses `String.prototype.matchAll` for global iteration (Node 12+ / all modern browsers).

How the pattern works

\b is a word boundary so we don't match inside identifiers. 0[bB] matches the literal prefix (case-insensitive on the b). [01]+ matches one or more binary digits. Trailing \b prevents matching into adjacent word characters.

Examples

Input

Mask = 0b1010, halfbyte = 0B1111

Matches

  • 0b1010
  • 0B1111

Input

for i := 0; i < 0b1000; i++

Matches

  • 0b1000

Input

no binary here

No match

Same pattern, other engines

← Back to Binary Number Literal overview (all engines)