mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Introduced String Regex Condition Operator
Require complete string to be a full match Changed to DarthAffe suggestion Changed to fit new Condition API and match code style
This commit is contained in:
parent
d8d54cff01
commit
648f01e160
@ -0,0 +1,20 @@
|
|||||||
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
namespace Artemis.Core.DefaultTypes {
|
||||||
|
internal class StringMatchesRegexConditionOperator : ConditionOperator<string, string>
|
||||||
|
{
|
||||||
|
public override string Description => "Matches Regex";
|
||||||
|
public override string Icon => "Regex";
|
||||||
|
|
||||||
|
public override bool Evaluate(string text, string regex)
|
||||||
|
{
|
||||||
|
// Ensures full match
|
||||||
|
if (!regex.StartsWith("^"))
|
||||||
|
regex = "^" + regex;
|
||||||
|
if (!regex.EndsWith("$"))
|
||||||
|
regex += "$";
|
||||||
|
|
||||||
|
return Regex.IsMatch(text, regex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -61,6 +61,7 @@ namespace Artemis.Core.Services
|
|||||||
RegisterConditionOperator(Constants.CorePluginInfo, new StringNotContainsConditionOperator());
|
RegisterConditionOperator(Constants.CorePluginInfo, new StringNotContainsConditionOperator());
|
||||||
RegisterConditionOperator(Constants.CorePluginInfo, new StringStartsWithConditionOperator());
|
RegisterConditionOperator(Constants.CorePluginInfo, new StringStartsWithConditionOperator());
|
||||||
RegisterConditionOperator(Constants.CorePluginInfo, new StringEndsWithConditionOperator());
|
RegisterConditionOperator(Constants.CorePluginInfo, new StringEndsWithConditionOperator());
|
||||||
|
RegisterConditionOperator(Constants.CorePluginInfo, new StringMatchesRegexConditionOperator());
|
||||||
|
|
||||||
// Null checks, at the bottom
|
// Null checks, at the bottom
|
||||||
// TODO: Implement a priority mechanism
|
// TODO: Implement a priority mechanism
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user