Я построил пример программы для проверки значения с помощью регулярного выражения. Этот пример работает на Visual Studio 2012.Альтернативный способ использования regex для Visual Studio 2003
Но Regex не существует на Visual Studio 2003.
Мой вопрос: Как я могу проверить значение с Visual Studio 2003 без использования Regex и Библиотека сторонних организаций?
Мой исходный код:
#include "stdafx.h"
#include <regex>
#include <string>
using namespace std;
int main()
{
std::string code1 = "{1N851111-8M32-2234-B83K-123456789012}";
std::regex control("^[{]{8}[A-Za-z0-9]{1}[-]{4}[A-Za-z0-9]{1}[-]{4}[A-Za-z0-9]{1}[-]{4}[A-Za-z0-9]{1}[-]{12}[A-Za-z0-9]$[}]");
std::smatch match;
if (std::regex_search(code1, match, control))
{
std::cout << "MAtch found";
}
else
{
std::cout << "Match not found";
}
return 0;
}
'станд :: regex' появился с C++ 11, поэтому ожидается, что они отсутствуют в VC2003. – user3159253
Как вы можете _'control'_ значение с регулярными выражениями? – ForceBru
В качестве альтернативы вы можете использовать стороннюю библиотеку, например [PCRE] (http://www.airesoft.co.uk/pcre), чтобы решить вашу задачу. Проверьте [это сообщение в блоге] (https://hiddencodes.wordpress.com/2015/02/18/build-and-use-pcre-in-windows/), чтобы узнать подробности. – user3159253