Standard c++ regex library in ESP32

I use the c++ standard regex library in ESP32. When i use this code i get error message. Why?

#include <regex>

using namespace std;

void setup() {
  Serial.begin(115200);
  delay(5000);
  char str[] = "false;true;false;true;false;true;true;14;59";
  if(regex_search(str,regex("^((false;|true;){7}(([0-1][0-9])|([2][0-3]));(([0-5][0-9])|([0][0])))$")))
  Serial.println("match");
  else
  Serial.println("not match");
  
}

void loop() {
  // put your main code here, to run repeatedly:

}

The error message:

assertion "heap != NULL && "free() target pointer is outside heap areas"" failed: file "/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/heap/heap_caps.c", line 267, function: heap_caps_free
abort() was called at PC 0x400da473 on core 1

ELF file SHA256: 0000000000000000

Backtrace: 0x40084fb8:0x3ffb1c80 0x40085235:0x3ffb1ca0 0x400da473:0x3ffb1cc0 0x400815df:0x3ffb1cf0 0x40083309:0x3ffb1d10 0x4000bec7:0x3ffb1d30 0x400ee145:0x3ffb1d50 0x400d1653:0x3ffb1d70 0x400d18b6:0x3ffb1d90 0x400d3e7b:0x3ffb1db0 0x400d76da:0x3ffb1e10 0x400d80be:0x3ffb1fb0 0x40086246:0x3ffb1fd0

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5856
entry 0x400806a8

https://en.cppreference.com/w/cpp/regex/regex_search

I think this says you are supposed to pass a std::string as the first argument and a std::smatch as the second argument.

  string str = "false;true;false;true;false;true;true;14;59";
  smatch match;
  if (regex_search(str, match, regex("^((false;|true;){7}(([0-1][0-9])|([2][0-3]));(([0-5][0-9])|([0][0])))$")))
    Serial.println("match");
  else
    Serial.println("not match");