なぜだけではなく、独自のソリューションを行うためにstd::string::find_first_of()
を使うのか?非常に単純な作業のために多くの機械のように聞こえる。
編集
あなたはまだ立ち往生している場合は、これを試してみてください。
#include <iostream>
#include <boost/xpressive/xpressive.hpp>
using namespace std;
using namespace boost::xpressive;
int main()
{
sregex re = sregex::compile("[+./]|[:word:]+");
sregex op = as_xpr('+') | '.' | '/';
sregex rex = op | (+alpha);
if (regex_match(string("word"), re))
cout << "word" << endl;
if (regex_match(string("word2"), re))
cout << "word2" << endl;
if (regex_match(string("+"), re))
cout << "+" << endl;
return 0;
}
同じことを行うには2通りの方法があります。 re
という名前の変数は、perlのような正規表現の文字列で初期化されています。 rex
はXpressiveネイティブエレメントを使用します。
私は正規表現について学びたいと思っています。私は上の質問に対する解決策を見つけられませんでした。私はそれが私のことを混乱させていたお互いの隣にエスケープ文字だったと思います。 – hipyhop
@TomFLuff:それでは、それは違うのです。正規表現は非常に強力なツールなので、掘り下げてください。クールなものを使用するための解決策を過度に複雑にしないように心がけてください(私は常にこれを思い出さなければなりません)。 – gregg