From 6010a1ec43a95f4cb3c537f3dbb41aad9d92d079 Mon Sep 17 00:00:00 2001 From: Janne Mareike Koschinski <janne@kuschku.de> Date: Thu, 27 Dec 2018 21:41:49 +0100 Subject: [PATCH] Disable Ignore/Highlight rules that have invalid patterns --- .../main/java/de/kuschku/libquassel/util/ExpressionMatch.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/src/main/java/de/kuschku/libquassel/util/ExpressionMatch.kt b/lib/src/main/java/de/kuschku/libquassel/util/ExpressionMatch.kt index 47fd06f34..b488df311 100644 --- a/lib/src/main/java/de/kuschku/libquassel/util/ExpressionMatch.kt +++ b/lib/src/main/java/de/kuschku/libquassel/util/ExpressionMatch.kt @@ -3,6 +3,7 @@ package de.kuschku.libquassel.util import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel import java.io.Serializable +import java.util.regex.PatternSyntaxException class ExpressionMatch : Serializable { enum class MatchMode { @@ -638,9 +639,12 @@ class ExpressionMatch : Serializable { * @param caseSensitive If true, match case-sensitively, otherwise ignore case when matching * @return Configured QRegularExpression */ - private fun regExFactory(regExString: String, caseSensitive: Boolean) = + private fun regExFactory(regExString: String, caseSensitive: Boolean) = try { if (caseSensitive) Regex(regExString) else Regex(regExString, RegexOption.IGNORE_CASE) + } catch (e: PatternSyntaxException) { + null + } /** * Escapes any regular expression characters in a string so they have no special meaning -- GitLab