我正在开发一个C ++程序,其中一个命令行参数需要传递一个正则表达式。例如:abc.exe --option ab\[0\]
当我从程序内部访问选项值时,它变为ab\\[0\\]
,它变成了一个不同的正则表达式。
当我尝试使用\\[
将\[
替换为boost::replace_all
时,程序内部的结果为[
,这也不是我的预期输出。
那么,关于如何通过命令行参数传递和保留\[
的任何建议
答案 0 :(得分:3)
您可以引用参数:
abc.exe --option "ab\[0\]"
或者使用shell转义序列:
abc.exe --option ab\\[0\\]
你试过这些吗?
答案 1 :(得分:0)
视觉工作室如何显示符号是一个问题。当我查看符号的ASCII码时,它没问题。感谢@ScottK帮助我通过您的评论进行调试