C++ boost 元件簡介:字串及文字處理
字串及文字處理
Boost.Regex
正則表示式是解決大量模式匹配問題的基礎。它們常用於處理大的字串,子串模糊查詢,按某種格式tokenize字串,或者是基於某種規則修改字串。由於C++沒有提供正則表示式支援,使得有些使用者被迫轉向其它支援正則表示式的語言,如Perl, awk, 和 sed。Regex提供了高效和強大的正則表示式支援,基於與STL同樣的前提而設計,這使得它很容易使用。Regex已被即將釋出的Library Technical Report接受。
Regex 的作者是 Dr. John Maddock.
Boost.Spirit
Spirit庫是一個多用途的、遞迴的語法分析器生成框架。有了它,你可以建立命令列分析器,甚至是語言前處理器[1]
[1] Wave庫使用Spirit實現了一個與C++高度一致的前處理器,就證明了這一點。
Spirit 的作者是 Joel de Guzman, 以及一組熟練的程式設計師。
Boost.String_algo
這是一組與字串相關的演算法。包括很多有用的演算法,用於大小寫轉換,空格清除,字串分割,查詢及替換,等等。這組演算法是目前C++標準庫裡已有功能的擴充套件。
String_algo 的作者是 Pavol Droba.
Boost.Tokenizer
這個庫提供了把字元序列分割成記號(token)的方法。通用的語法分析任務包括了在已分割的文字流裡查詢資料。如果可以把字元序列視為多個元素的容器將很有幫助,容器中的元素被執照使用者定義的規則所分割。語法分析就成為了在這些元素上進行操作的單個任務,Tokenizer正好提供了這種功能。使用者可以決定字元序列如何被分割,在使用者請求新的元素時,庫將找出相應的記號。
Tokenizer 的作者是 John Bandela.
來源:Beyond the C++ Standard Library An Introduction to Boos