Boost logo

Boost Users :

From: Robert (boost_at_[hidden])
Date: 2005-07-12 17:21:49

Can someone help check me on this code? The problem is that if I use a
RegEx of:


The results aren't as expected. I should expect that the password of Aa1
would fail, and yet it is passing the regex_match.

I borrowed this code from someone else's project and my concern is that
Boost_RegEx doesn't work correctly with wide characters. Is this the case,
or is there something else that is causing the problem.


wcsncpy(wszPassword, Password->Buffer, Password->Length/sizeof(wchar_t));
wszPassword[Password->Length] = 0;

wregex wrePassword(DEFAULT_REGEX);

wstrPassword = wszPassword;

WriteToLog(L"PasswordFilter: Going to run match"); /// Prepare iterators
wstring::const_iterator start = wstrPassword.begin();
wstring::const_iterator end = wstrPassword.end();
match_results<wstring::const_iterator> what;
unsigned int flags = match_default;
bMatch = regex_match(start, end, what, wrePassword);
if (bMatch) {
        WriteToLog(L"PasswordFilter: Password matches specified RegEx");
} else {
        WriteToLog(L"PasswordFilter: Password does NOT match specified

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at