Skip to content

Commit 32256d6

Browse files
authored
Merge pull request #111 from hamishknight/side-character
2 parents fbf561c + 9a410cf commit 32256d6

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

Sources/_MatchingEngine/Regex/Parse/LexicalAnalysis.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1136,7 +1136,7 @@ extension Source {
11361136
}
11371137

11381138
// References that look like groups, e.g (?R), (?1), ...
1139-
if let ref = try src.lexGroupLikeReference() {
1139+
if !customCC, let ref = try src.lexGroupLikeReference() {
11401140
return ref.value
11411141
}
11421142

Tests/RegexTests/ParseTests.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,10 @@ extension RegexTests {
831831
parseTest(#"(?P>+1)"#, subpattern(.named("+1")))
832832
parseTest(#"(?P=+1)"#, backreference(.named("+1")))
833833

834+
parseTest(#"[(?R)]"#, charClass("(", "?", "R", ")"))
835+
parseTest(#"[(?&a)]"#, charClass("(", "?", "&", "a", ")"))
836+
parseTest(#"[(?1)]"#, charClass("(", "?", "1", ")"))
837+
834838
parseTest(#"\g<1>"#, subpattern(.absolute(1)))
835839
parseTest(#"\g<001>"#, subpattern(.absolute(1)))
836840
parseTest(#"\g'52'"#, subpattern(.absolute(52)))

0 commit comments

Comments
 (0)