Added helper function for parsing regular expressions.
This commit is contained in:
parent
9a5a81e031
commit
d35ed2eb1b
@ -95,6 +95,11 @@ namespace MUtils
|
|||||||
MUTILS_API QString clean_file_name(const QString &name);
|
MUTILS_API QString clean_file_name(const QString &name);
|
||||||
MUTILS_API QString clean_file_path(const QString &path);
|
MUTILS_API QString clean_file_path(const QString &path);
|
||||||
|
|
||||||
|
//Regular expressions
|
||||||
|
MUTILS_API bool regexp_parse_uint32(const QRegExp ®exp, quint32 &value);
|
||||||
|
MUTILS_API bool regexp_parse_uint32(const QRegExp ®exp, quint32 *values, const size_t &count);
|
||||||
|
|
||||||
|
//Internationalization
|
||||||
MUTILS_API QStringList available_codepages(const bool &noAliases = true);
|
MUTILS_API QStringList available_codepages(const bool &noAliases = true);
|
||||||
|
|
||||||
//Internal
|
//Internal
|
||||||
|
@ -394,6 +394,37 @@ QString MUtils::clean_file_path(const QString &path)
|
|||||||
return parts.join("/");
|
return parts.join("/");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// REGULAR EXPESSION HELPER
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
bool MUtils::regexp_parse_uint32(const QRegExp ®exp, quint32 &value)
|
||||||
|
{
|
||||||
|
return regexp_parse_uint32(regexp, &value, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool MUtils::regexp_parse_uint32(const QRegExp ®exp, quint32 *values, const size_t &count)
|
||||||
|
{
|
||||||
|
const QStringList caps = regexp.capturedTexts();
|
||||||
|
|
||||||
|
if(caps.isEmpty() || (quint32(caps.count()) <= count))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(size_t i = 0; i < count; i++)
|
||||||
|
{
|
||||||
|
bool ok = false;
|
||||||
|
values[i] = caps[i+1].toUInt(&ok);
|
||||||
|
if(!ok)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// AVAILABLE CODEPAGES
|
// AVAILABLE CODEPAGES
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
Loading…
Reference in New Issue
Block a user