2013-08-30 33 views
-2

這是一個尷尬形成的問題。有沒有辦法在C++中用一個轉義字符檢查多個轉義字符?

我現在的項目是從串口讀取ASCII碼。我正在使用一個逐行讀取輸出的私有庫。每行都用\ r字符標識。我被這個庫限制了,因爲我必須指定什麼轉義字符結束那行。

無論如何,我發現this documentation online,特別是我對轉義字符\>和\ s感興趣,因爲\>檢查字符串的結尾,並檢查是否有空格轉義字符。

但是,我不認爲這在C++中是默認可用的。我甚至不知道該文檔的用途是什麼語言!

所以我問大師的stackoverflow;有沒有辦法檢查C++中的多個轉義字符只有一個轉義字符?

感謝您的閱讀..

+0

這不是C++轉義序列。該文檔適用於正則表達式。 – 2013-08-30 21:13:39

+1

是的,這完全不清楚。首先,如果你知道你的消息來源產生已知的人物,你爲什麼有興趣探測他人?其次,我不確定「用一個字符檢查多個字符」是什麼意思? –

回答

2

您可以嘗試使用C++ 11標準中的std::regex

如果編譯器不支持,你也可以使用QRegularExpression,如果你不介意使用Qt 5

你也許還可以使用regex從Boost庫這一點。

如果你想要支持較老的編譯器,你甚至可以使用regex(3)

+0

或Posix的''來自POSIX C庫。 – 2013-08-30 21:23:01

+0

@ H2CO3:好點,我剛剛也加了文檔! – lpapp

+0

謝謝,我看到你做到了。 – 2013-08-30 21:25:37

0

是的,這絕對是一個「笨拙形成問題」。

關於第二點,您正在使用正則表達式構造/轉義混淆轉義字符。第二個僅在正則表達式中有效。除非您的圖書館支持它們,否則您將無法成功使用它們。 C++不提供對正則表達式的任何直接支持。只通過庫函數。

+2

實際上,C++ 11的確... – lpapp