More regex improvements

This commit is contained in:
Griatch 2024-03-17 09:39:57 +01:00
parent 3a0b434e42
commit 138e21a94c
2 changed files with 9 additions and 15 deletions

View file

@ -9,7 +9,8 @@ from django.conf import settings
from django.core.paginator import Paginator from django.core.paginator import Paginator
from django.db.models import Max, Min, Q from django.db.models import Max, Min, Q
from evennia import InterruptCommand 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.locks.lockhandler import LockException
from evennia.objects.models import ObjectDB from evennia.objects.models import ObjectDB
from evennia.prototypes import menus as olc_menus 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.eveditor import EvEditor
from evennia.utils.evmore import EvMore from evennia.utils.evmore import EvMore
from evennia.utils.evtable import EvTable from evennia.utils.evtable import EvTable
from evennia.utils.utils import ( from evennia.utils.utils import (class_from_module, crop, dbref, display_len,
class_from_module, format_grid, get_all_typeclasses,
crop, inherits_from, interactive, list_to_string,
dbref, variable_from_module)
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) COMMAND_DEFAULT_CLASS = class_from_module(settings.COMMAND_DEFAULT_CLASS)
_FUNCPARSER = None _FUNCPARSER = None
_ATTRFUNCPARSER = None _ATTRFUNCPARSER = None
_KEY_REGEX = re.compile(r"(?P<attr>.*?)(?P<key>(\[.*\]\ *)+)?$") # _KEY_REGEX = re.compile(r"(?P<attr>.*?)(?P<key>(\[.*\]\ *)+)?$")
_KEY_REGEX = re.compile(r"(?P<attr>[^\[]*)(?P<key>(\[[^\]]*\]\ *)+)?$")
# limit symbol import for API # limit symbol import for API
__all__ = ( __all__ = (

View file

@ -441,7 +441,7 @@ def parse_sdescs_and_recogs(
word_list = [] word_list = []
bestmatches = [] bestmatches = []
# preserve punctuation when splitting # preserve punctuation when splitting
tail = re.split("(\W)", tail) tail = re.split(r"(\W)", tail)
iend = 0 iend = 0
for i, item in enumerate(tail): for i, item in enumerate(tail):
# don't add non-word characters to the search query # don't add non-word characters to the search query