Логическое значение, присвоенное методу регулярного выражения - PullRequest
0 голосов
/ 27 февраля 2012

Я хочу, чтобы метод присваивал логическое значение, поэтому, в зависимости от выхода этого метода, я знаю, выполнять ли следующий метод или нет, но, похоже, он мне не нравится.

Код ниже

   bool ok = (boost::regex_match(str1,string_matcher))
              {
                  DCS_LOG_DEBUG("Correct Number of Passengers");
                  output.push_back("Correct Number of Passengers\n");
                  DCS_LOG_DEBUG("2nd loop done 1");

              }
              else
              {
                  a = st[0];
                  boost::regex const string_matcher1(splitMask[1]);
                  boost::trim(a);
                  if(boost::regex_match(a,string_matcher1))
                  {
                      DCS_LOG_DEBUG("Correct format for surnamce");
                      output.push_back("Correct format for surnamce\n");
                      DCS_LOG_DEBUG("2nd loop done 4");
                  }
                  else
                  {
                      DCS_LOG_DEBUG("Invalid format for surname");
                      output.push_back("Invalid format for surname\n");
                      DCS_LOG_DEBUG("2nd loop done 5");
                  }
              }

Что я там не так делаю или это невозможно?был бы рад за любую помощь:)

1 Ответ

0 голосов
/ 27 февраля 2012

Вам не хватает if:

if (boost::regex_match(str1,string_matcher))

{...

ИЛИ:

bool ok = boost::regex_match(str1,string_matcher);

if (ok)
{ ...
...