有没有办法在C ++中使用一个转义字符检查多个转义字符?

时间:2013-08-30 21:11:54

标签: c++ string serial-port escaping ascii

男人,这是一个尴尬的问题。

我的项目现在是从串行端口ASCII行读取。我正在使用一个逐行读取输出的私有库。每行都用\ r字符标识。我受这个库的限制,因为我必须指定哪个转义字符结束该行。

无论如何,我找到了this documentation online,特别是我对转义字符感兴趣\>和\ s因为\>检查字符串的结尾,并检查是否有空白转义字符。

但是,我不认为这在C ++中是默认的。我甚至不确定文档的用语是什么!

所以我问堆栈溢出的大师;有没有办法只用一个转义字符检查C ++中的多个转义字符?

感谢您阅读..

2 个答案:

答案 0 :(得分:2)

您可以尝试使用C ++ 11标准中的std::regex

如果编译器不支持,如果您不介意使用Qt 5,也可以使用QRegularExpression

你也可以使用boost库中的regex来实现这一点。

如果您想支持旧版编译器,您甚至可以使用regex(3)

答案 1 :(得分:0)

是的,这肯定是一个“尴尬形成的问题”。

关于第二点,您将转义字符与正则表达式构造/转义混淆。第二个仅在正则表达式中有效。除非您的库支持它们,否则您将无法成功使用它们。 C++不对正则表达式提供任何直接支持。只能通过库函数。