0
私は、セミコロン、ブラケット、ドット、および二重引用符などの区切り文字を分割して保持することで、トークナイザを動作させようとしています。C++正規表現トークンデリミタ
string s ("main() a; i, Keyboard.readInt(HOW MANY NUMBERS?);");
regex e ("([.,;-]|[^.,;-]+)");
regex_iterator<std::string::iterator> rit (s.begin(), s.end(), e);
regex_iterator<std::string::iterator> rend;
while (rit!=rend) {
cout << rit->str() << endl;
++rit;
}
コンパイルすると、ちょっと壊れてしまいます。正規表現([.,;-]|[^.,;-]+)
に問題はありますか?
main
(
)
a
;
i
,
Keyboard
.
readInt
(
HOW MANY NUMBERS?
)
;
ありがとうございました。私はそれを考え出した。 – lowerbound
答えが役に立つのであれば、SOのカスタムは+1または "回答"を与えることで、他の人はどこで知ることができるかを知ることができます。似たような状況で見てください。 –