如果我正在閱讀這個權利,你得到的問題是一個格式不正確的輸入字符串,你在鍵值對的值部分有一個','。
所以你希望你的輸入
abc: def,xyz: pqr, uvw: abchash<class qwerty,struct Hash<class qwerty>,struct std::equal_to<class qwerty> >::resize
解析到
abc: def
xyz: pqr
uvw: abchash<class qwerty,struct Hash<class qwerty>,struct std::equal_to<class qwerty> >::resize
但是,相反它的解析來
abc: def
xyz: pqr
uvw: abchash<class qwerty
struct Hash<class qwerty>
struct std::equal_to<class qwerty> >::resize
對此的解決方案是修復您的輸入值引用整個值字符串或使用其他分隔符給你一些規則。
據我可以告訴你基本上沒有關於你進入的規則。它可以是一個關鍵:值對或只是一個值,就像你在另一個問題中的例子。在這種情況下,不可能區分包含逗號的值與一個值的結尾和另一個值的開始之間的差異。你說這該字符串
abc:xyz uvw, def:ghi, mno:rst, ijk:efg, abc opq
應解析成
abc:xyz uvw
def:ghi
mno:rst
ijk:efg
abc opq <-- no key, just a value
這意味着該
abc: def,xyz: pqr, uvw: abchash<class qwerty,struct Hash<class qwerty>,struct std::equal_to<class qwerty> >::resize
可以解析到
abc: def
xyz: pqr
uvw: abchash<class qwerty,struct Hash<class qwerty>,struct std::equal_to<class qwerty> >::resize
或同樣
abc: def
xyz: pqr
uvw: abchash<class qwerty
struct Hash<class qwerty>,struct std::equal_to<class qwerty> >::resize
或同樣
abc: def
xyz: pqr
uvw: abchash<class qwerty
struct Hash<class qwerty>
struct std::equal_to<class qwerty> >::resize
等等等等
當你有你需要輸入改變以某種方式讓你縮小正確的正則表達式用多個同樣有效的答案。
你的問題是有點混亂。你說你不想拆分uvw:abchash,struct std :: equal_to > resize part? –
JFPicard
@JFPicard - 這是正確的。由於uvw的值是整行,直到調整大小,我需要它作爲值,而不是直到第一個「,」。 – Vidya
我的回答對你的問題有幫助嗎?如果是,請標記爲已解決。 –