From 138e21a94c8900d9ae686618f7b70bced1e4d529 Mon Sep 17 00:00:00 2001 From: Griatch Date: Sun, 17 Mar 2024 09:39:57 +0100 Subject: [PATCH] More regex improvements --- evennia/commands/default/building.py | 22 ++++++++-------------- evennia/contrib/rpg/rpsystem/rpsystem.py | 2 +- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/evennia/commands/default/building.py b/evennia/commands/default/building.py index f4519e298..c50399034 100644 --- a/evennia/commands/default/building.py +++ b/evennia/commands/default/building.py @@ -9,7 +9,8 @@ from django.conf import settings from django.core.paginator import Paginator from django.db.models import Max, Min, Q from evennia import InterruptCommand -from evennia.commands.cmdhandler import generate_cmdset_providers, get_and_merge_cmdsets +from evennia.commands.cmdhandler import (generate_cmdset_providers, + get_and_merge_cmdsets) from evennia.locks.lockhandler import LockException from evennia.objects.models import ObjectDB from evennia.prototypes import menus as olc_menus @@ -22,25 +23,18 @@ from evennia.utils.dbserialize import deserialize from evennia.utils.eveditor import EvEditor from evennia.utils.evmore import EvMore from evennia.utils.evtable import EvTable -from evennia.utils.utils import ( - class_from_module, - crop, - dbref, - display_len, - format_grid, - get_all_typeclasses, - inherits_from, - interactive, - list_to_string, - variable_from_module, -) +from evennia.utils.utils import (class_from_module, crop, dbref, display_len, + format_grid, get_all_typeclasses, + inherits_from, interactive, list_to_string, + variable_from_module) COMMAND_DEFAULT_CLASS = class_from_module(settings.COMMAND_DEFAULT_CLASS) _FUNCPARSER = None _ATTRFUNCPARSER = None -_KEY_REGEX = re.compile(r"(?P.*?)(?P(\[.*\]\ *)+)?$") +# _KEY_REGEX = re.compile(r"(?P.*?)(?P(\[.*\]\ *)+)?$") +_KEY_REGEX = re.compile(r"(?P[^\[]*)(?P(\[[^\]]*\]\ *)+)?$") # limit symbol import for API __all__ = ( diff --git a/evennia/contrib/rpg/rpsystem/rpsystem.py b/evennia/contrib/rpg/rpsystem/rpsystem.py index d18a1a5f9..22a3bffa3 100644 --- a/evennia/contrib/rpg/rpsystem/rpsystem.py +++ b/evennia/contrib/rpg/rpsystem/rpsystem.py @@ -441,7 +441,7 @@ def parse_sdescs_and_recogs( word_list = [] bestmatches = [] # preserve punctuation when splitting - tail = re.split("(\W)", tail) + tail = re.split(r"(\W)", tail) iend = 0 for i, item in enumerate(tail): # don't add non-word characters to the search query