C++のregexでアルファベットのみを選択したいです。
ところが、下記のコードですと、aaa[10]からaaaと[10]が選択されてしまいます。
[a-zA-Z]はアルファベットの選択、+はそれを繰り返した文字列ということなので、[10]が選ばれる理由が理解できていません。解決方法などありましたら、ご教授お願いします。
C++
1std::vector<std::string> split(std::string str) { 2 std::vector<std::string> result; 3 4 std::regex re("([a-zA-Z]+)"); 5 std::smatch m; 6 7 while (std::regex_search(str, m, re)) { 8 result.push_back(m[1].str()); 9 str = m.suffix(); 10 } 11 12 result.push_back(str); 13 14 return result; 15}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/30 15:34