Top > C/C++あれこれ > 正規表現パターン

Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 
 
 
 
 
-
|
|
|
|
|
|
|
|
|
-
|
-
|
!
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
 
 
 
    boost::regex  r1("^[\x20-\x7E]+$");
    boost::smatch m1;
    string str1 = " abcdefghijklmnopqrstuvwxyz!#$&'()[]@";
 
 
 
    if( boost::regex_search(str1, m1, r1) ) {
        cout << "すべてがASCIIである" << endl;
    } else {
        cout << "ASCIIではない文字がある" << endl;
    }
    return 0;
}
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 
 
 
 
-
|
|
|
|
-
|
-
|
!
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
    boost::regex  r2("^(?:\x82[\x9F-\xF1])+$");
    boost::smatch m2;
    string str2 = "ひらがなである";
 
    if( boost::regex_search(str2, m2, r2) ) {
        cout << "すべてが平仮名である" << endl;
    } else {
        cout << "平仮名ではない文字がある" << endl;
    }
    return 0;
}
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 
 
 
 
 
-
|
|
|
|
|
-
|
-
|
!
|
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
 
        boost::regex  r3("^(?:\x83[\x40-\x96])+$");
        boost::smatch m3;
        string str3 = "ゼンカクカタカナデアル";
 
        if( boost::regex_search(str3, m3, r3) ) {
                cout << "すべてが全角カタカナである" << endl;
        } else {
                cout << "全角カタカナではない文字がある" << endl;
        }
 
        return 0;
}
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 
 
 
 
-
|
|
|
|
-
|
-
|
!
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
    boost::regex  r4("^(?:[\xA6-\xDF])+$");
    boost::smatch m4;
    string str4 = "ハンカクカタカナデアル";
 
    if( boost::regex_search(str4, m4, r4) ) {
        cout << "すべてが半角カタカナである" << endl;
    } else {
        cout << "半角カタカナではない文字がある" << endl;
    }
    return 0;
}
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 
 
 
 
-
|
|
|
|
-
|
-
|
!
|
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
    boost::regex  r5("^[0-9A-Za-z]+$");
    boost::smatch m5;
    string str5 = "abcdefghijklmnopqrstuvwxyz0123456789";
 
    if( boost::regex_search(str5, m5, r5) ) {
        cout << "すべて半角英数字である" << endl;
    } else {
        cout << "半角英数字でない文字がある" << endl;
    }
 
    return 0;
}
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 
 
 
 
 
-
|
|
|
|
|
|
|
!
 
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace std;
 
int main() {
    boost::regex r6("(\\d)(?=(\\d{3})+(?!\\d))");
    string replace6("\\1,");
    string str6 = "1234567890";
    string res6 = boost::regex_replace(str6, r6, replace6);
    cout << res6 << endl;
    //"1,234,567,890"になります。
    return 0;
}

リロード   新規 編集 凍結解除 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2012-08-08 (水) 23:25:12 (2921d)