Skip to content

Commit 0cb38b7

Browse files
committed
Make regex repr more accurate
1 parent ba78e77 commit 0cb38b7

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

Diff for: src/parsita/parsers/_regex.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ def _consume(self, state: State[StringType], reader: Reader[StringType]):
3636

3737
return Continue(reader, value)
3838

39-
def __repr__(self):
40-
return self.name_or_nothing() + f"reg(r'{self.pattern.pattern}')"
39+
def __repr__(self) -> str:
40+
return self.name_or_nothing() + f"reg({self.pattern.pattern!r})"
4141

4242

4343
def reg(pattern: Union[re.Pattern, StringType]) -> RegexParser[StringType]:

Diff for: tests/test_regex.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ class TestParsers(ParserContext, whitespace="[ ]*"):
108108
assert TestParsers.digits.parse(" 100") == Success("100")
109109
assert TestParsers.digits.parse("100 ") == Success("100")
110110
assert TestParsers.digits.parse(" 100 ") == Success("100")
111-
assert str(TestParsers.digits) == r"digits = reg(r'\d+')"
111+
assert str(TestParsers.digits) == r"digits = reg('\\d+')"
112112

113113

114114
def test_regex_no_whitespace():
@@ -122,7 +122,7 @@ class TestParsers(ParserContext):
122122
assert TestParsers.digits.parse("100 ") == Failure(
123123
ParseError(StringReader("100 ", 3), ["end of source"])
124124
)
125-
assert str(TestParsers.digits) == r"digits = reg(r'\d+') > float"
125+
assert str(TestParsers.digits) == r"digits = reg('\\d+') > float"
126126

127127

128128
def test_regex_custom_whitespace():
@@ -142,7 +142,7 @@ class TestParsers(ParserContext, whitespace="[ ]*"):
142142
assert TestParsers.pair.parse("100\n100") == Failure(
143143
ParseError(StringReader("100\n100", 3), [r"r'\d+'"])
144144
)
145-
assert str(TestParsers.digits) == r"digits = reg(r'\d+') > float"
145+
assert str(TestParsers.digits) == r"digits = reg('\\d+') > float"
146146
assert str(TestParsers.pair) == "pair = digits & digits"
147147

148148

0 commit comments

Comments
 (0)