C ++ 11正则表达式:捕获替换字符串中的组后的数字

发呆

我的regex_replace表达式在替换字符串中的“ 0”字符之前使用了$ 1组,如下所示:

#include <iostream>
#include <string>
#include <regex>

using namespace std;

int main() {
    regex regex_a( "(.*)bar(.*)" );
    cout << regex_replace( "foobar0x1", regex_a, "$10xNUM" ) << endl;
    cout << regex_replace( "foobar0x1", regex_a, "$1 0xNUM" ) << endl;
}

输出为:

xNUM
foo 0xNUM

我正在尝试在foo0xNUM没有中间空格的情况下获得输出

如何保护替换字符串中下一个字符的组名$ 1?

古凡特

您可以指定$n$nn引用捕获的文本,因此可以使用$nn格式(此处$01)来避免抓住0

cout << regex_replace( "foobar0x1", regex_a, "$010xNUM" ) << endl;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有捕获组的C ++正则表达式字符串文字

正则表达式用于C#中的字符串替换

在C#中替换正则表达式字符串

如何使用正则表达式或linq替换C#中的特定字符串

大字符串正则表达式替换C#中的性能

正则表达式不匹配字符串C#中的连续数字

正则表达式从字符串 c# 中获取数字

C# 正则表达式仅用于字符串中的数字

正则表达式-在特定情况下替换C#字符串中的字符

C#中的正则表达式匹配获取不包含模式的字符串组

正则表达式用C#中的html标记替换域子字符串

C#正则表达式查找和替换字符串

c#正则表达式替换字符串

在C#中使用正则表达式查找和替换子字符串

每个匹配项的C#正则表达式更改替换字符串

使用C ++用正则表达式替换子字符串匹配

C#中接受下划线和空格的Alpha数字字符串的正则表达式

正则表达式用字符串C#中的数字匹配多个匹配项

在C编程中检查字符串是否全为带正则表达式的字母数字

如何检查字符串包含字母或数字-正则表达式c#

C#正则表达式字母数字字符串

C#字符串和数字正则表达式

如何在c ++ 11中使用正则表达式找到确切的子字符串?

为什么在C ++ 11中将正则表达式“([[az]]((?!\\ 1)[az])”匹配字符串“ aa”?

如何选择“|”后的字符串 在 C++ 中使用正则表达式?

C#正则表达式在匹配字符串后查找并删除文本

C中的正则表达式,检查字符串是否包含特定字符

字符串中的C#正则表达式非字母字符

Lex / Flex:C / C ++中字符串文字的正则表达式?