Ruby:
Sử dụng biểu thức chính quy
Làm thế nào:
Hãy cùng tìm hiểu một số cơ bản về regex trong Ruby.
# Tìm kiếm một khớp
câu = "Hello, World!"
puts câu.match(/World/) # Đầu ra: World
# Thay thế
puts câu.gsub(/World/, "Ruby") # Đầu ra: Hello, Ruby!
# Trích xuất khớp
email = "[email protected]"
puts email.match(/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/).to_s # Đầu ra: [email protected]
# Lặp qua các khớp
"Frodo, Gandalf, Arwen".scan(/\w+/) { |tên| puts tên }
# Đầu ra:
# Frodo
# Gandalf
# Arwen
Sâu hơn nữa
Biểu thức chính quy trong Ruby đã được ảnh hưởng bởi khả năng regex mạnh mẽ của Perl. Các phương án thay thế cho regex bao gồm các phương thức chuỗi như #include?
, #start_with?
, và #end_with?
, nhưng không cái nào cung cấp cùng một sức mạnh và linh hoạt. Ruby triển khai regex sử dụng thư viện riêng của mình được phát triển từ engine regex của Perl, cung cấp các tính năng như nhìn trước và nhìn sau, khớp không tham lam và các phím tắt của lớp ký tự.
Xem thêm
- Biểu Thức Chính Quy Ruby: Tài liệu chính thức Ruby về regex.
- Rubular: Bộ biên tập biểu thức chính quy dựa trên Ruby, tốt cho việc kiểm tra các mẫu.