c++ - 正则表达式用另一个字符替换 C++ 中的单个字符

标签 c++ regex

我试图用不同的字符替换字符串中出现的单个字符“1”。
这个相同的字符可以在我不感兴趣的字符串中出现多次。
例如,在下面的字符串中,我想用 2 替换单个出现的 1。

 input:-0001011101

 output:-0002011102
我尝试了下面的正则表达式,但它给出了错误的结果
  regex b1("(1){1}"); 
  S1=regex_replace( S,
              b1,  "2");
任何帮助将不胜感激。

最佳答案

在正则表达式中使用负前瞻来匹配 1后面没有另一个 1 :

regex b1("1(?!1)");

关于c++ - 正则表达式用另一个字符替换 C++ 中的单个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69952780/

相关文章:

c++ - 将 GCC 构建为具有多库支持的 ARM 交叉编译器

c++ - 在 Windows 8.1 上使用 clang-cl 64 位

正则表达式:匹配模式但排除部分模式

c++ - 无法让#include 工作

c++ - 创建对象时出现错误 header C++

c++ - 在windows上创建服务

javascript - 文本区域的 jQuery 输入过滤器

regex - 我怎样才能将一系列替换项插入到Perl正则表达式中?

regex - R regex gsub分隔字母和数字

键上 dict 正则表达式的 Python dict