Article:
Vài ví dụ căn bản dùng regex với Ruby
658
trangia61.myopenid.com 3Updated about 1 year ago |
Với regex (biểu thức chính qui) trong Ruby, mình sẽ cho 1 số ví dụ về 4 chức năng:
- So sánh: so sánh xem chuỗi nào đó có khớp với pattern nào đó hay không
- Tìm vị trí: tìm xem pattern bắt đầu từ vị trí nào trong chuỗi nào đó
- Thay thế
- Trích
1. So sánh
s = "/usr/etc"
if s=~ /^\/usr\/etc/
puts "condition satisfied"
else
puts "not satisfied"
end
=> condition satisfied
2. Tìm vị trí
"abc" =~ /c/
-> 2
"abc" =~ /d/
=> nil
3. Thay thế
"abc".gsub(/b/, "d")
=> "adc"
4. Trích
s = "xxx yyy zzz"
s =~ /^(.+) .+? (.+)/
puts $1
=> "xxx"
puts $2
=> "yyy"
Thêm: backreference
s = '"Hello"'
s =~ /("|')(.*?)("|')/
puts $2
=> Hello (kết quả vẫn vậy nếu ta sửa s là "Hello', 'Hello' hay 'Hello")
Nếu chỉ muốn hiện "Hello" hay 'Hello' thì:
s = "'Hello'"
s =~ /("|')(.*?)\1/
puts $2
=> Hello
3