MUTILS_API QString clean_file_name(const QString &name);
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);
//Internal
}
///////////////////////////////////////////////////////////////////////////////
+// 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
///////////////////////////////////////////////////////////////////////////////