const regex = /^(.*)([Cc][Mm][Aa][Kk][Ee]\s([Ee][Rr][Rr][Oo][Rr]))\sat\s(.*):(\d+)(.*):\n(.*)$/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(.*)([Cc][Mm][Aa][Kk][Ee]\\s([Ee][Rr][Rr][Oo][Rr]))\\sat\\s(.*):(\\d+)(.*):\\n(.*)$', 'gm')
const str = `Config task started...
Not searching for unused variables given on the command line.
-- Running vcpkg install
Detecting compiler hash for triplet "x64-windows"...
-- Setting "HTTP_PROXY" environment variables to "http://127.0.0.1:1081".
-- Setting "HTTPS_PROXY" environment variables to "http://127.0.0.1:1081".
Detecting compiler hash for triplet "x64-mingw-dynamic"...
-- Setting "HTTP_PROXY" environment variables to "http://127.0.0.1:1081".
-- Setting "HTTPS_PROXY" environment variables to "http://127.0.0.1:1081".
All requested packages are currently installed.
Restored 0 packages from C:\\Users\\michael\\AppData\\Local\\vcpkg\\archives in 146 us. Use --debug to see more details.
Total elapsed time: 6.994 s
The package fmt provides CMake targets:
find_package(fmt CONFIG REQUIRED)
target_link_libraries(main PRIVATE fmt::fmt)
# Or use the header-only version
find_package(fmt CONFIG REQUIRED)
target_link_libraries(main PRIVATE fmt::fmt-header-only)
-- Running vcpkg install - done
includes cpp: D:/Repository/C project/CMake_Cpp_Temp/include/test_byte_stream/byte_string.cpp;D:/Repository/C project/CMake_Cpp_Temp/include/test_position/Pos.cpp
includes hpp: D:/Repository/C project/CMake_Cpp_Temp/include/test_position/test_pos_lib.hpp
CMake Error at include/CMakeLists.txt:7 (target_compile_definitions):
target_compile_definitions called with incorrect number of arguments
-- Configuring incomplete, errors occurred!
See also "D:/Repository/C project/CMake_Cpp_Temp/cmake-vscode-mingw-build/CMakeFiles/CMakeOutput.log".
Configure finished with return code 1`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions