如何在C++中停止 boost::regex_replace 的格式 ($)
How to stop the format ($) for boost::regex_replace in C++?
我正在使用boost::regex_replace(replacement_text,正则表达式,new_text)函数来执行此操作...
replacement_text = "{replace_me}"
regex = "({([^}]*[^s]*)})"
new_text = "$$$"
对于每个不包含"$"的new_text,这都很好用,new_text将完全取代replacement_text。但是当使用符号"$$$"时,它会将其截断为"$$",去掉 1 $。
我读到规格中的美元符号($)用于特殊格式:
$n
第 n 个反向引用(即,在正则表达式模式中用括号指定的第 n 个匹配组的副本)。n 必须是指定有效反向引用的整数值,大于 1,最多两位数。
那么我怎样才能禁用它,让它不做特殊格式化呢?提前感谢!
正如您在问题中提到的,$
是 regex_replace
格式化程序参数中的转义序列,因此像 PCRE(Perl 兼容正则表达式)中的任何其他特殊字符一样,您可以使用 转义它! 所以使用
$$$
,既然你正在使用C++你应该使用\$\$\$
(当然你已经知道了)
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 将"打开的CV图像"中的"颜色"转换为整数格式
- TDateTime格式在C++Builder中不会更改
- 如何防止clang格式在流运算符调用之间添加换行符<<
- 检查不带转换的扫描格式
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 是否可以从格式字符串中检索"width"
- clang格式:宏的缩进
- clang格式:禁用排序包含
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 将RGB图像保存为PPM格式
- 询问在设计我的手臂模拟器功能表示格式1
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 带有Protobuf序列化的C++Hazelcast:字符串不是UTF-8格式的
- 如何将strftime中的格式错误作为异常捕获
- 将CHW格式的浮点向量转换为cv::Mat
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 如何以叮当格式设置评论的行长?
- 为什么我需要C++中不同的排序格式来对这个USACO代码上的数组和优先级队列进行排序
- Vulkan 中的动态顶点缓冲区格式设置