re = /(?<=at point, )(X=(?:\d|\.)+) +\K(Y=(?:\d|\.)+).*?\K(value \w+)\R +\K(tag \w+)\K/m
str = '[ AutoCAD - Thu Sep 03 15:59:09 2020 ]----------------------------------------
Command: LIST
Select objects: Specify opposite corner: 468 found
Select objects:
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal
BLOCK REFERENCE Layer: "layer1"
Space: Model space
Handle = 12345
Block Name: "Block"
at point, X=1378.4556 Y=1314.2124 Z= 0.0000
X scale factor: 16.5000
Y scale factor: 16.5000
rotation angle: 160.67
Z scale factor: 266.0000
Scale uniformly: No
Allow exploding: Yes
ATTRIBUTE Layer: "layer1"
Space: Model space
Handle = 12345
Style = "STANDARD"
Annotative: No
Font file = default.shx
substituted by default.shx
start point, X=1365.1222 Y=1319.6510 Z= 0.0000
height 3.0000
value 2999
tag THINGY
rotation angle 340.67
width scale factor 1.0000
obliquing angle 0.00
flags normal
generation normal'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html