diff --git a/fiddle/_src/daglish_extensions.py b/fiddle/_src/daglish_extensions.py index 4f37ab4e..b0362de1 100644 --- a/fiddle/_src/daglish_extensions.py +++ b/fiddle/_src/daglish_extensions.py @@ -122,7 +122,7 @@ def is_unshareable(value: Any) -> bool: "|".join([ r"\.(?P[\w_]+)", # future improvement: support escape sequences. - r"\[(?P-?\d+|'[^']+'|\"[^\"]+\")\]", + r"\[(?P-?\d+|'[^']*'|\"[^\"]*\")\]", ]) ) ) diff --git a/fiddle/_src/daglish_extensions_test.py b/fiddle/_src/daglish_extensions_test.py index 8ac5a1c1..32509f16 100644 --- a/fiddle/_src/daglish_extensions_test.py +++ b/fiddle/_src/daglish_extensions_test.py @@ -102,6 +102,14 @@ def fn(x: int) -> int: daglish.Attr("foo"), ), }, + { + "path": "['']", + "expected": (daglish.Key(""),), + }, + { + "path": '[""]', + "expected": (daglish.Key(""),), + }, ) def test_parse_path(self, path, expected): actual = daglish_extensions.parse_path(path)