Skip to content

Instantly share code, notes, and snippets.

@oprypin
Created April 5, 2026 17:36
Show Gist options
  • Select an option

  • Save oprypin/a66bb068c91391ca91d2635f309b2828 to your computer and use it in GitHub Desktop.

Select an option

Save oprypin/a66bb068c91391ca91d2635f309b2828 to your computer and use it in GitHub Desktop.
Patterns for part names in Rebrickable that are "splittable"
SPLIT_PART_PATTERNS = r"""
Cylinder Half 2 x (4) x 5 with 1 x 2 [Cc]utout
Cylinder Quarter 2 x (2) x 5(?: \(.+\))?
Bracket 1 x (\d+) - 1 x \1
Bracket 1 x (\d+) - 1 x \1 Inverted
Bracket 1 x (\d+) - \1 x 2
Bracket 1 x (\d+) - \1 x 2 Inverted
Bracket 5 x (\d+) x 1 1/3(?: with\b.*\bBottom\b.*)?
Brick 1 x 1(?: x (\d+)(?: with\b.*\bStud)?)?
(Brick|Plate) 1 x 1
(Wedge|Wedge Plate) 4 x 2 Right
(Wedge|Wedge Plate) 4 x 2 Left
(Wedge|Wedge Plate) 3 x 2 Left
(Wedge|Wedge Plate) 3 x 2 Right
(Wedge|Wedge Plate) 3 x 3 Cut Corner
Brick Special 1 x 2(?: x (\d+))? with Groove
Brick (\d+) x (\d+)(?: without Bottom Tubes, without Cross Supports| without Bottom Tubes, with '\+' Cross Support \(.+\))?
Brick 1 x (\d+)(?: x (\d+))?(?: without Side Supports)?(?: with .+? Studs?)?(?:(?: with| and) \w+ \w+ Holder| [Ww]ithout Bottom Tube)?(?: with .+ Ridges)?
Brick 2 x (\d+)(?: x (\d+))?
Technic Brick 1 x ([2-9]) \[\1 Pin Holes\]
Technic Brick 1 x (1) with Pin Hole
Brick Special 1 x (\d+) with Stud on (?:One|1) Side
Brick Special 1 x (\d+) with \1 Studs on (?:One|1) Side
Brick Special 1 x (\d+) with Masonry Brick Profile
Brick Special 1 x (\d+) Palisade \[aka Log\]
Brick Special 1 x (\d+) with Studs on 2 Sides
Brick Special 1 x (\d+) x 1 2/3 with (?:4 )?Studs on 1 Side
Brick Curved 1 x (\d+) x 2/3 Double(?: Curved Top)?, No Studs
(Brick|Plate) Round 2 x 2 with Axle Hole(?: Type.+)?
(Brick|Plate) Round 4 x 4(?: with)? (?:Pin|Centre) Hole
(Brick|Plate) Round Corner 4 x 4(?: Full Brick)?
Panel 1 x (2) x 1 with Rounded Corners and 2 Sides
Panel 1 x (1) x 1 Corner
Panel 1 x (\d+) x 1(?: with Side Supports| with Rounded Corners)?(?: \[.+\]| - .+)?
Panel 1 x (\d+) x 2(?: with Side Supports| with Rounded Corners)?(?: \[.+\]| - .+)?
Panel 1 x (\d+) x 3(?: with Side Supports| with Rounded Corners)?(?: \[.+\]| - .+)?
Plate (\d+) x (\d+)
Hinge Plate 1 x (4) Locking Dual 1 Finger
Hinge Plate 1 x (2) Locking with 1 Finger on Side\b.*
Plate Special 1 x (2) with Clips Horizontal\b.*
Plate Special 1 x (1) with Clip Horizontal\b.*
Plate Round Half 4 x (8)
Plate Round Corner 4 x (4)
Wedge Plate 3 x (6) Cut Corners
Wedge Plate 3 x (3) Cut Corner
Plate Special 2 x (4) with Groove and Two Center Studs \(Jumper\)
Plate Special 2 x (2) with Groove and Center Stud \(Jumper\)
Wedge Plate 2 x (4)
Wedge Plate 2 x (2) Right
Wedge Plate 2 x (2) Left
Tile Special (\d+) x (\d+) Inverted
Plate Round (8) x (8)
Plate Round Corner (4) x (4)
Plate Special 1 x (\d+) with Door Rail
Slope Inverted 45° (4) x 1 Double with 1 x 2 Recessed
Slope 45° (2) x 1 Inverted with 2/3 Cutout
Slope,? Curved (\d+) x 8 x 2 Inverted Double
Slope Curved (\d+) x 8 x 2 Double
Slope 30° 1 x (\d+) x 2/3(?: \(Cheese Slope\))?
Slope 45° 2 x (\d+)(?: with Bottom Pin)?
Slope 45° 2 x (\d+) Double(?: with Inside Stud Holder)?
Slope 33° 3 x (\d+)
Slope 18° 4 x (\d+)
Slope 65° 2 x (\d+) x 2(?: with .+| \[.+\])?
Slope 75° 2 x (\d+) x 3(?: with .+| \[.+\])?
Slope Inverted 45° 2 x (\d+)(?: with .+| \[.+\])?
Slope Inverted 33° 3 x (\d+)(?: with .+| \[.+\])?
Slope Inverted 45° 6 x (\d+) Double with \1 x 4 Recessed(?: and 3 Holes)?
Slope 33° 2 x (\d+) Double
Brick Curved Double 2 x (4) Inverted
Brick Curved 2 x (2) Inverted
Slope Inverted 45° 4 x (\d+) Double with \1 x 2 Recessed(?:, 2 Holes)?
Slope 45° 2 x (\d+) with 2/3 Inverted Cutout and no [Ss]tuds?
Brick Curved 4 x (6) Double, 2 x (4) Cutout
Slope Curved (3) x (2) No Studs
Slope Curved 3 x (\d+) No Studs
Slope Curved (4) x 1 Double with No Studs
Slope Curved (2) x 1 No Studs \[1/2 Bow\]
Slope Curved 4 x (\d+) No Studs(?: \[Stud Holder with .+\])?
Slope Curved 2 x ([2-9]) x 2/3
Slope Curved 2 x (1) No Studs \[1/2 Bow\]
Slope Curved 2 x ([2-9]) x 2/3 Inverted
Slope Curved 2 x (1) Inverted
Brick Curved 6 x (\d+)
Slope Curved 2 x (2) with Stud Notches
Slope Curved 2 x (1) with Stud Notch Right
Slope Curved 2 x (1) with Stud Notch Left
Brick Curved 2 x (4) x 1 1/3
Brick Curved (1) x 2 x 1 1/3(?: with Curved Top)?
Tile (\d+) x (\d+)(?: with Groove| with Bottom Tubes| with Smooth Surface)?
Tile Round 1 x (2)
Tile Round 1 x (1) Half Circle
Tile Round 1 x (2) Half Circle
Tile Round 1 x (1) Quarter
Tile Round (2) x 2(?: with Bottom .+)?
Tile Round (1) x 2 Half Circle
Brick 2 x 2 (Corner)
Brick 1 x 1()
(Brick|Plate) 2 x 2 Corner
(Brick|Plate) 4 x 4 Corner
Brick 4 x 4 (Corner)
Brick 2 x 2()
Plate 2 x 2 (Corner)
Plate 1 x 1()
Plate 4 x 4 (Corner)
Plate 2 x 2()
Tile 2 x 2 (Corner)
Tile 1 x 1(?: with Groove)?()
Brick 2 x 2 (Corner)
Brick 1 x 1()
Brick 4 x 4 (Corner)
Brick 2 x 2()
Plate 1 x 1 x (2)/3 with Open Stud
Plate 1 x (1)
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment