2929from app .translator .core .models .query_tokens .keyword import Keyword
3030from app .translator .core .str_value_manager import StrValue
3131from app .translator .core .tokenizer import QueryTokenizer
32- from app .translator .platforms .base .aql .const import NUM_VALUE_PATTERN ,SINGLE_QUOTES_VALUE_PATTERN ,UTF8_PAYLOAD_PATTERN
32+ from app .translator .platforms .base .aql .const import (
33+ DOUBLE_QUOTES_FIELD_NAME_PATTERN ,
34+ FIELD_NAME_PATTERN ,
35+ NUM_VALUE_PATTERN ,
36+ SINGLE_QUOTES_VALUE_PATTERN ,
37+ UTF8_PAYLOAD_PATTERN ,
38+ )
3339from app .translator .platforms .base .aql .functions .const import AQLFunctionGroupType
3440from app .translator .platforms .base .aql .str_value_manager import aql_str_value_manager
3541from app .translator .tools .utils import get_match_group
@@ -51,7 +57,7 @@ class AQLTokenizer(QueryTokenizer):
5157multi_value_operators_map :ClassVar [dict [str ,str ]]= {"in" :OperatorType .EQ }
5258
5359field_pattern = r'(?P<field_name>"[a-zA-Z\._\-\s]+"|[a-zA-Z\._\-]+)'
54- function_pattern = r' (?P<func_name>[a-zA-Z_]+)\((?:(?:[a-zA-Z\._\-\s]+)|(?:"[a-zA-Z\._\-]+"))\)'
60+ function_pattern = rf" (?P<func_name>[a-zA-Z_]+)\((?:{ FIELD_NAME_PATTERN } | { DOUBLE_QUOTES_FIELD_NAME_PATTERN } )\)"
5561bool_value_pattern = rf"(?P<{ ValueType .bool_value } >true|false)\s*"
5662_value_pattern = rf"{ NUM_VALUE_PATTERN } |{ bool_value_pattern } |{ SINGLE_QUOTES_VALUE_PATTERN } "
5763multi_value_pattern = rf"""\((?P<{ ValueType .multi_value } >[:a-zA-Z\"\*0-9=+%#\-_\/\\'\,.&^@!\(\s]*)\)"""