Using configured regex letter/number values to build pre-compiled postprocess regexes

This commit is contained in:
Matt Hill
2015-08-10 23:03:22 -04:00
parent 28aed1b7d9
commit 6e94703dea
3 changed files with 5 additions and 5 deletions

View File

@@ -36,7 +36,7 @@ namespace alpr
string region, pattern; string region, pattern;
while (infile >> region >> pattern) while (infile >> region >> pattern)
{ {
RegexRule* rule = new RegexRule(region, pattern); RegexRule* rule = new RegexRule(region, pattern, config->postProcessRegexLetters, config->postProcessRegexNumbers);
//cout << "REGION: " << region << " PATTERN: " << pattern << endl; //cout << "REGION: " << region << " PATTERN: " << pattern << endl;
if (rules.find(region) == rules.end()) if (rules.find(region) == rules.end())

View File

@@ -28,7 +28,7 @@ tthread::mutex regexrule_mutex_m;
namespace alpr namespace alpr
{ {
RegexRule::RegexRule(string region, string pattern) RegexRule::RegexRule(string region, string pattern, std::string letters_regex, std::string numbers_regex)
//: re2_regex("") //: re2_regex("")
{ {
this->original = pattern; this->original = pattern;
@@ -80,11 +80,11 @@ namespace alpr
} }
else if (utf_character == "@") else if (utf_character == "@")
{ {
regexval << "\\pL"; regexval << letters_regex;
} }
else if (utf_character == "#") else if (utf_character == "#")
{ {
regexval << "\\pN"; regexval << numbers_regex;
} }
else if ((utf_character == "*") || (utf_character == "+")) else if ((utf_character == "*") || (utf_character == "+"))
{ {

View File

@@ -33,7 +33,7 @@ namespace alpr
class RegexRule class RegexRule
{ {
public: public:
RegexRule(std::string region, std::string pattern); RegexRule(std::string region, std::string pattern, std::string letters_regex, std::string numbers_regex);
virtual ~RegexRule(); virtual ~RegexRule();
bool match(std::string text); bool match(std::string text);