offline version v3


86 of 264 menu

exec method

The exec method performs a string search using a given regular expression. The found substring and its capturing groups are returned as a result. In this case, each subsequent call to this method will start the search from the place where the previous found substring ended. If no match is found, it returns null.

Syntax

regular expression.test(string);

Example

We test the method:

let str = '12 34 56'; let reg = /\d+/g; let res1 = reg.exec(str); console.log(res1); let res2 = reg.exec(str); console.log(res2); let res3 = reg.exec(str); console.log(res3); let res4 = reg.exec(str); console.log(res4);

The code execution result:

[12] [34] [56] null

Example

Let's use the method in a loop:

let str = '12 34 56'; let reg = /\d+/g; let res; while (res = reg.exec(str)) { console.log(res); }

The code execution result:

[12] [34] [56]

Example

Found matches can be decomposed into capturing groups:

let str = '12 34 56'; let reg = /(\d)(\d)/g; let res; while (res = reg.exec(str)) { console.log(res); }

The code execution result:

[12, 1, 2] [34, 3, 4] [56, 5, 6]

Example

Using the lastIndex property, you can set the position from which to start the search:

let str = '12 34 56'; let reg = /\d+/g; reg.lastIndex = 2; let res1 = reg.exec(str) console.log(res1); let res2 = reg.exec(str) console.log(res2);

The code execution result:

[34] [56]

Example

Using the y modifier, you can fix the search start position:

let str = '12 34 56'; let reg = /\d+/y; reg.lastIndex = 2; let res1 = reg.exec(str) console.log(res1); let res2 = reg.exec(str) console.log(res2);

The code execution result:

null [12]

See also

  • the test method
    that checks a string
  • the match method
    that searches for matches in a string
  • the matchAll method
    that searches for all matches in a string
  • the replace method
    that performs search and replacement
  • the search method
    that performs a search
  • the split method
    that splits a string
enru