Вы добавляете еще \
к выражению, вам нужно только экранировать "
и вам не нужно экранировать /
"tasks": [
{
"label": "build.bat",
"type": "shell",
"command": "build.bat",
"problemMatcher": {
"owner": "cpptools",
"fileLocation": [
"relative",
"${env:PWD}"
],
"pattern": {
"regexp": "^ctc W(\\d+): \\[\"(.*)\" (\\d+)/(\\d+)\\] (.*)$",
"file": 2,
"line": 3,
"column": 4,
"message": 5
}
},
"group": {
"kind": "build",
"isDefault": true
}
}
]
Редактировать
Это работает в regex101 (аромат Javascript)
^ctc W(\d+): \["(.*)" (\d+)\/(\d+)\] (.*)$
Чтобы перевести его в строку JSON, escape \"
и regex также хочет вам нужно экранировать /
, но это будет необходимо только в том случае, если вы используете регулярное выражение в литерале Javascript (например, /\d+/g
), но мы не делаем этого в VS C, но это не повредит.
В результате:
"^ctc W(\\d+): \\[\"(.*)\" (\\d+)\\/(\\d+)\\] (.*)$"