ฉันกำลังพยายาม rexp สตริงเป็นตัวแปรหลายตัว สตริงตัวอย่าง:
ryan_string = "RyanOnRails: This is a test"
ฉันจับคู่กับ regexp นี้โดยมี 3 กลุ่ม:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
ตอนนี้ในการเข้าถึงแต่ละกลุ่มฉันต้องทำสิ่งนี้:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
ดูเหมือนจะไร้สาระและรู้สึกว่าฉันทำอะไรผิด ฉันคาดหวังว่าจะสามารถทำสิ่งนี้ได้:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
เป็นไปได้หรือไม่ หรือมีวิธีที่ดีกว่าที่ฉันกำลังทำอยู่?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
เป็น:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)