お世話になっています
正規表現チェッカーに
(([0-90-9]+|[一二三四五六七八九十百千万]+)(丁目|丁|番地|番|号|-|‐|ー|−|の|東|西|南|北)*)
と
東京都渋谷区恵比寿4丁目23-456
を入力すると 問題なく
4丁目23-456
が 赤字になるのですが
以下 (Visual C++)での プログラムでは
一致しません
どこに問題があるのでしょうか?
ご教示お願い致します
Visual
1#include <windows.h> 2#include <stdio.h> 3#include <string> 4#include <cctype> 5#include <iomanip> 6#include <iostream> 7#include <fstream> 8#include <stdio.h> 9#include <tchar.h> 10#include <locale> 11#include <sstream> 12#include <regex> 13 14using namespace std; 15 16#define MAX_LOADSTRING 100 17 18 19int main() 20{ 21 std::wcout.imbue(locale("japanese")); 22 int pos = -1; 23 const wchar_t* input_0 = L"東京都渋谷区恵比寿4丁目23-456"; 24 const wchar_t* pattern_0 = L"(([0-90-9]+|[一二三四五六七八九十百千万]+)(丁目|丁|番地|番|号|-|‐|ー|−|の|東|西|南|北)*)"; 25 26 27 std::wregex re_0(pattern_0); 28 std::wcmatch match_0; // match_results<const wchar_t*> 29 if (std::regex_match(input_0,match_0 , re_0)) { 30 31 for (size_t i = 0; i < match_0.size(); ++i) { 32 33 MessageBoxW(NULL, match_0.str(i).c_str(),L"Test",MB_OK); 34 pos = match_0.position(1); 35 int dmy = pos; 36 } 37 } 38 39 return 0; 40}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/08 08:44
2020/09/08 08:45
2020/09/08 09:42
2020/09/08 10:45