Opened 11 years ago
Closed 10 years ago
#6735 closed Bugs (invalid)
Regex pattern matching with wrong string
| Reported by: | Owned by: | John Maddock | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | regex | 
| Version: | Boost 1.44.0 | Severity: | Not Applicable | 
| Keywords: | regex | Cc: | 
Description
Hi, I am comparing the regular expression "[0-9]+" with the string "1.2" I am expecting the comparison to be a failure as part of the following check in ConfigReader.cpp
if (false == var.CheckValue(tValue)) {
throw(FormatDisallowed(name, var.m_Allowed, tValue));
}
However, looks like CheckValue() is returning a success -> which is incorrect. I added a print after the checkValue to verify it (which got hit)
Same is the case for "[0-9]+" and "123abc" Please let me know if I am missing something OR is it a known issue.
thanks, Adarsh.
Tried using gdb. Results follows: ========================
(gdb) p var.m_Allowed $12 = {
static npos = 4294967295, _M_dataplus = {
<std::allocator<char>> = {
<gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider: _M_p = 0x9b98f14 "[0-9]+"
}
} (gdb) p tValue $13 = {
static npos = 4294967295, _M_dataplus = {
<std::allocator<char>> = {
<gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
members of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider: _M_p = 0x9ba54d4 "1.2"
}
}
Change History (3)
comment:1 by , 11 years ago
| Severity: | Problem → Not Applicable | 
|---|
comment:2 by , 10 years ago
| Component: | None → regex | 
|---|---|
| Owner: | set to | 
comment:3 by , 10 years ago
| Resolution: | → invalid | 
|---|---|
| Status: | new → closed | 


Did some more digging and found out that this is not a bug.
Sorry for the false alarm