py: Inline expectation should have space before $

This commit is contained in:
Owen Mansel-Chan
2026-03-04 12:09:22 +00:00
parent ea30f02271
commit 91b6801db1
69 changed files with 891 additions and 892 deletions

View File

@@ -1,46 +1,46 @@
import re
re.compile(r'[A-Z]') #$ charRange=1:2-3:4
re.compile(r'[A-Z]') # $ charRange=1:2-3:4
try:
re.compile(r'[]-[]') #$ SPURIOUS: charRange=1:2-3:4
re.compile(r'[]-[]') # $ SPURIOUS: charRange=1:2-3:4
raise Exception("this should not be reached")
except re.error:
pass
re.compile(r'[---]') #$ charRange=1:2-3:4
re.compile(r'[\---]') #$ charRange=1:3-4:5
re.compile(r'[--\-]') #$ charRange=1:2-3:5
re.compile(r'[\--\-]') #$ charRange=1:3-4:6
re.compile(r'[0-9-A-Z]') #$ charRange=1:2-3:4 charRange=5:6-7:8
re.compile(r'[0\-9-A-Z]') #$ charRange=4:5-6:7
re.compile(r'[---]') # $ charRange=1:2-3:4
re.compile(r'[\---]') # $ charRange=1:3-4:5
re.compile(r'[--\-]') # $ charRange=1:2-3:5
re.compile(r'[\--\-]') # $ charRange=1:3-4:6
re.compile(r'[0-9-A-Z]') # $ charRange=1:2-3:4 charRange=5:6-7:8
re.compile(r'[0\-9-A-Z]') # $ charRange=4:5-6:7
try:
re.compile(r'[0--9-A-Z]') #$ SPURIOUS: charRange=1:2-3:4 charRange=4:5-6:7
re.compile(r'[0--9-A-Z]') # $ SPURIOUS: charRange=1:2-3:4 charRange=4:5-6:7
raise Exception("this should not be reached")
except re.error:
pass
re.compile(r'[^A-Z]') #$ charRange=2:3-4:5
re.compile(r'[^A-Z]') # $ charRange=2:3-4:5
re.compile(r'[\0-\09]') #$ charRange=1:3-4:6
re.compile(r'[\0-\07]') #$ charRange=1:3-4:7
re.compile(r'[\0-\09]') # $ charRange=1:3-4:6
re.compile(r'[\0-\07]') # $ charRange=1:3-4:7
re.compile(r'[\0123-5]') #$ charRange=5:6-7:8
re.compile(r'[\0123-5]') # $ charRange=5:6-7:8
#Negative lookahead
re.compile(r'(?!not-this)^[A-Z_]+$') #$ charRange=14:15-16:17
re.compile(r'(?!not-this)^[A-Z_]+$') # $ charRange=14:15-16:17
#Negative lookbehind
re.compile(r'^[A-Z_]+$(?<!not-this)') #$ charRange=2:3-4:5
re.compile(r'^[A-Z_]+$(?<!not-this)') # $ charRange=2:3-4:5
#OK -- ODASA-ODASA-3968
re.compile('(?:[^%]|^)?%\((\w*)\)[a-z]') #$ charRange=22:23-24:25
re.compile('(?:[^%]|^)?%\((\w*)\)[a-z]') # $ charRange=22:23-24:25
#ODASA-3985
#Half Surrogate pairs
re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') #$ charRange=1:2-3:4 charRange=6:7-8:9
re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') # $ charRange=1:2-3:4 charRange=6:7-8:9
#Outside BMP
re.compile(u'[\U00010000-\U0010ffff]') #$ charRange=1:2-3:4
re.compile(u'[\U00010000-\U0010ffff]') # $ charRange=1:2-3:4

View File

@@ -1,37 +1,37 @@
import re
re.compile(r'\A[+-]?\d+') #$ charSet=2:6
re.compile(r'(?P<name>[\w]+)|') #$ charSet=9:13
re.compile(r'\|\[\][123]|\{\}') #$ charSet=6:11
re.compile(r'[^A-Z]') #$ charSet=0:6
re.compile("[]]") #$ charSet=0:3
re.compile("[][]") #$ charSet=0:4
re.compile("[^][^]") #$ charSet=0:6
re.compile("[.][.]") #$ charSet=0:3 charSet=3:6
re.compile("[[]]") #$ charSet=0:3
re.compile("[^]]") #$ charSet=0:4
re.compile("[^-]") #$ charSet=0:4
re.compile(r'\A[+-]?\d+') # $ charSet=2:6
re.compile(r'(?P<name>[\w]+)|') # $ charSet=9:13
re.compile(r'\|\[\][123]|\{\}') # $ charSet=6:11
re.compile(r'[^A-Z]') # $ charSet=0:6
re.compile("[]]") # $ charSet=0:3
re.compile("[][]") # $ charSet=0:4
re.compile("[^][^]") # $ charSet=0:6
re.compile("[.][.]") # $ charSet=0:3 charSet=3:6
re.compile("[[]]") # $ charSet=0:3
re.compile("[^]]") # $ charSet=0:4
re.compile("[^-]") # $ charSet=0:4
try:
re.compile("[]-[]") #$ SPURIOUS: charSet=0:5
re.compile("[]-[]") # $ SPURIOUS: charSet=0:5
raise Exception("this should not be reached")
except re.error:
pass
try:
re.compile("[^]-[]") #$ SPURIOUS: charSet=0:6
re.compile("[^]-[]") # $ SPURIOUS: charSet=0:6
raise Exception("this should not be reached")
except re.error:
pass
re.compile("]]][[[[]") #$ charSet=3:8
re.compile("]]][[[[]") # $ charSet=3:8
#Half Surrogate pairs
re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') #$ charSet=0:5 charSet=5:10
re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') # $ charSet=0:5 charSet=5:10
#Outside BMP
re.compile(u'[\U00010000-\U0010ffff]') #$ charSet=0:5
re.compile(u'[\U00010000-\U0010ffff]') # $ charSet=0:5
#Misparsed
re.compile(r"\[(?P<txt>[^[]*)\]\((?P<uri>[^)]*)") #$ charSet=10:14 charSet=28:32
re.compile(r"\[(?P<txt>[^[]*)\]\((?P<uri>[^)]*)") # $ charSet=10:14 charSet=28:32
# parses wrongly, sees this \|/ as a char set start
re.compile(r'''(?:[\s;,"'<>(){}|[\]@=+*]|:(?![/\\]))+''') #$ charSet=3:25 charSet=30:35
re.compile(r'''(?:[\s;,"'<>(){}|[\]@=+*]|:(?![/\\]))+''') # $ charSet=3:25 charSet=30:35

View File

@@ -1,19 +1,19 @@
import re
re.compile(r'\b') #$ escapedCharacter=0:2
re.compile(r'''\b''') #$ escapedCharacter=0:2
re.compile(r"\b") #$ escapedCharacter=0:2
re.compile(r'\b') # $ escapedCharacter=0:2
re.compile(r'''\b''') # $ escapedCharacter=0:2
re.compile(r"\b") # $ escapedCharacter=0:2
re.compile(u"\b") # not escape
re.compile("\b") # not escape
re.compile(r'\\\b') #$ escapedCharacter=0:2 escapedCharacter=2:4
re.compile(r'[\---]') #$ escapedCharacter=1:3
re.compile(r'[--\-]') #$ escapedCharacter=3:5
re.compile(r'[\--\-]') #$ escapedCharacter=1:3 escapedCharacter=4:6
re.compile(r'[0\-9-A-Z]') #$ escapedCharacter=2:4
re.compile(r'[\0-\09]') #$ escapedCharacter=1:3 escapedCharacter=4:6
re.compile(r'[\0-\07]') #$ escapedCharacter=1:3 escapedCharacter=4:7
re.compile(r'[\0123-5]') #$ escapedCharacter=1:5
re.compile(r'\1754\1854\17\18\07\08') #$ escapedCharacter=0:4 escapedCharacter=16:19 escapedCharacter=19:21
re.compile(r'\\\b') # $ escapedCharacter=0:2 escapedCharacter=2:4
re.compile(r'[\---]') # $ escapedCharacter=1:3
re.compile(r'[--\-]') # $ escapedCharacter=3:5
re.compile(r'[\--\-]') # $ escapedCharacter=1:3 escapedCharacter=4:6
re.compile(r'[0\-9-A-Z]') # $ escapedCharacter=2:4
re.compile(r'[\0-\09]') # $ escapedCharacter=1:3 escapedCharacter=4:6
re.compile(r'[\0-\07]') # $ escapedCharacter=1:3 escapedCharacter=4:7
re.compile(r'[\0123-5]') # $ escapedCharacter=1:5
re.compile(r'\1754\1854\17\18\07\08') # $ escapedCharacter=0:4 escapedCharacter=16:19 escapedCharacter=19:21
#ODASA-3985
#Half Surrogate pairs
@@ -22,10 +22,10 @@ re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]') # not escapes
re.compile(u'[\U00010000-\U0010ffff]') # not escapes
#Misparsed
re.compile(r"\[(?P<txt>[^[]*)\]\((?P<uri>[^)]*)") #$ escapedCharacter=0:2 escapedCharacter=16:18 escapedCharacter=18:20
re.compile(r"\[(?P<txt>[^[]*)\]\((?P<uri>[^)]*)") # $ escapedCharacter=0:2 escapedCharacter=16:18 escapedCharacter=18:20
#Non-raw string
re_blank = re.compile('(\n|\r|\\s)*\n', re.M) #$ escapedCharacter=5:7
re_blank = re.compile('(\n|\r|\\s)*\n', re.M) # $ escapedCharacter=5:7
#Backreference confusion
re.compile(r'\+0') #$ escapedCharacter=0:2
re.compile(r'\+0') # $ escapedCharacter=0:2

View File

@@ -1,4 +1,4 @@
import re
re.compile(r'(?P<first>\w+) (?P<second>\w+)') #$ group=0:14 group=15:30
re.compile(r'([)(])') #$ group=0:6
re.compile(r'(?P<first>\w+) (?P<second>\w+)') # $ group=0:14 group=15:30
re.compile(r'([)(])') # $ group=0:6