Я пытаюсь заменить некоторые шаблоны в строке различными тестовыми патчами.
Пример:
string test = "test replacing \"these characters\"";
То, что я хочу сделать, - это заменить все '' на '_' и все другие символы, отличные от буквы или цифры, на пустую строку. У меня создано следующее регулярное выражение, и он, похоже, правильно маркер, но я не уверен, как (если возможно) выполнить замену условного кода с помощью regex_replace
.
string test = "test replacing \"these characters\"";
regex reg("(\\s+)|(\\W+)");
ожидаемый результат после замены:
string result = "test_replacing_these_characters";
EDIT: Я не могу использовать boost, поэтому я оставил его вне тегов. Поэтому, пожалуйста, не отвечайте, включая повышение. Я должен сделать это со стандартной библиотекой. Возможно, что другое регулярное выражение достигло цели или что я просто застрял, выполняя два прохода.
EDIT2:
Я не помню, какие символы были включены в \w
во время моего исходного регулярного выражения, после того как я просмотрел его, я еще больше упростил выражение. Опять же, целью является любое соответствие \s +, которое должно быть заменено на "_", и все, что соответствует \W +, должно быть заменено пустой строкой.