참고소스 수정본

This commit is contained in:
LASTA_DEV01\lasta
2026-05-12 19:40:31 +09:00
parent 0f34a451fc
commit 2e9204243d
8708 changed files with 3259488 additions and 869 deletions

View File

@@ -0,0 +1,23 @@
import re
from string import Template
from typing import List
ESCAPED = "(?![^{}]*})"
# This one doesn't actually work, but we're keeping it the same for consistency
ESCAPED_OR_QUOTED = "(?![^{}]*})|(?<!')${separator}(?=[^']*'$)"
def split_on(
value: str, separator: str, *, exceptions: str = ESCAPED, filter_nones: bool = True
) -> List[str]:
split_pattern = Template("${separator}${exceptions}").safe_substitute(
separator=separator, exceptions=exceptions
)
pattern = re.compile(rf"{split_pattern}")
tokens = re.split(pattern, value)
trimmed = list(map(lambda t: t.strip(), tokens))
if not filter_nones:
return trimmed
return list(filter(None, trimmed))