/***************************************************************************
- * Copyright (C) 2005-2019 by the Quassel Project *
+ * Copyright (C) 2005-2020 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
QRegularExpression ExpressionMatch::regExFactory(const QString& regExString, bool caseSensitive)
{
- // Construct the regular expression object, setting case sensitivity as appropriate
- QRegularExpression newRegEx = QRegularExpression(regExString,
- caseSensitive ? QRegularExpression::PatternOption::NoPatternOption
- : QRegularExpression::PatternOption::CaseInsensitiveOption);
+ // This is required, else extra-ASCII codepoints get treated as word boundaries
+ QRegularExpression::PatternOptions options = QRegularExpression::UseUnicodePropertiesOption;
+
+ if (!caseSensitive) {
+ options |= QRegularExpression::CaseInsensitiveOption;
+ }
+
+ QRegularExpression newRegEx = QRegularExpression(regExString, options);
// Check if rule is valid
if (!newRegEx.isValid()) {