Как в qt с помощью replace сделать подмену по типу regex $1$2
В JavaScript операция подмены с regex
num = "11222333";
re = /(\d+)(\d{3})/;
re.test(num);
num.replace(re, "$1,$2");
Как произвести подобное в Qt. Цель сделать замену унарных знаков на буквенные значения B -> (+) и C -> (-) и оставить знак стоящий перед унарным.
static QRegularExpression regex1("([+\\-*\\/^\\(\\)]|mod)([\\+])");
static QRegularExpression regex2("([+\\-*\\/^\\(\\)]|mod)([\\-])");
Попытался сделать как в JS:
qstr.replace(regex1, "$1B").replace(regex2, "$1C");
Но либо я выполняю её не коректно, либо она не доступна в Qt.
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
В Qt используется другой способ (тоже популярный) - "\1". Но слеши нужно экранировать, поэтому, нужно ещё один слеш.
qstr.replace(regex1, "$1B").replace(regex2, "\1C");