File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -137,7 +137,10 @@ def scan_regex(self) -> re.Pattern:
137137 if pattern == "" :
138138 raise jexception .JException ("S0301" , self .position )
139139 self .position += 1
140- current_char = self .path [self .position ]
140+ if self .position < self .length :
141+ current_char = self .path [self .position ]
142+ else :
143+ current_char = None
141144 # flags
142145 start = self .position
143146 while current_char == 'i' or current_char == 'm' :
Original file line number Diff line number Diff line change @@ -42,6 +42,16 @@ def test_regex(self):
4242 assert (jsonata .Jsonata ("($matcher := $eval('/^' & 'foo' & '/i'); $.$spread()[$.$keys() ~> $matcher])" )
4343 .evaluate ({"foo" : 1 , "bar" : 2 }) == {"foo" : 1 })
4444
45+ def test_regex_literal (self ):
46+ expr = jsonata .Jsonata ("/^test.*$/" )
47+ result = expr .evaluate (None )
48+ assert result .pattern == "^test.*$"
49+
50+ def test_eval_regex (self ):
51+ expr = jsonata .Jsonata ("$eval('/^test.*$/')" )
52+ result = expr .evaluate (None )
53+ assert result .pattern == "^test.*$"
54+
4555 #
4656 # Additional $split tests
4757 #
You can’t perform that action at this time.
0 commit comments