我的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] 删除。
我来说两句