Ruby:Regular Expressions

From Blognone

Jump to: navigation, search

ruby มีเครื่องหมาย =~ เอาไว้เทียบ regular expression กับ String

/old/ =~ 'this old house' # return 5

เป็นตำแหน่งของ old ใน 'this old house'

/Russ|Russell/ =~ 'Fred' # return nil

เพราะใน Fred ไม่มี Russ หรือ Russell

/.*/ =~ 'any old string' # return 0

เพราะ .* หมายถึง string ใดๆ

เราสามารถเอา =~ ไปใช้ในประโยคเงื่อนไข

if /Russ|Russell/ =~ s
  puts "Russ or Russell"
end

หรือใช้เพื่อกำหนดค่าให้ตัวแปล

x = /old/ =~ 'this old house'

สำหรับการใช้สุดยอดเครื่องมืออย่าง regular expression ลองอ่านใน http://en.wikipedia.org/wiki/Regular_expression หรือลองเล่มนี้ครับ Mastering Regular Experession