2
我想分析一個字符串,如"ParseThis"
或"parseThis"
成像字符串的向量,如["Parse", "This"]
或["parse", "this"]
使用nom箱子。解析駝峯字符串與名字
我試過的所有嘗試都沒有返回預期的結果。有可能我不明白如何使用nom中的所有函數。
我想:
named!(camel_case<(&str)>,
map_res!(
take_till!(is_not_uppercase),
std::str::from_utf8));
named!(p_camel_case<&[u8], Vec<&str>>,
many0!(camel_case));
但p_camel_case
剛剛返回Error(Many0)
解析以大寫字母開頭的字符串和解析以小寫字母返回Done
開頭的字符串,但有一個空字符串作爲結果。
如何告訴nom我想分析字符串,並用大寫字母分隔(因爲可以有第一個大寫或小寫字母)?
謝謝你的作品非常好!你花了多長時間才知道nom在足夠的時間內完成了這項工作?我正在開發一個需要解析大量字符串的大型項目,對於使用nom的更簡單的東西,但仍然很難找到我的方式,例如,我從來沒有在 – Max
之前看到'!recogn'的例子。例如:我想要現在先通過一個我寫'parse_camel_case'的函數來解析一個字符串,然後每個單詞用'parse_camel_case'解析它。我正在檢查示例解析器,但沒有看到我想要做的事情,將'Vec <&str>'從一個解析器拖到另一個解析器。不知道如何繼續。 – Max
這就是爲什麼我參與堆棧溢出的原因;-)例如,我知道「識別!」,因爲[有人問過它](http://stackoverflow.com/q/36300373/155423)。我不是nom的文檔的最大粉絲(所以我自己編寫了我自己的解析器庫,**更少的**文檔)。你的後續問題可能應該作爲一個單獨的主題發佈,因爲我不知道如何解決它,並且不太可能有人會閱讀這些評論。 – Shepmaster