2010-01-20 35 views
7

Tôi có một biến chuỗi có nhiều dòng mới trong đó và tôi muốn kiểm tra xem đầu chuỗi có khớp với cụm từ thông dụng hay không. Tuy nhiên, khi tôi sử dụng ký tự ^, nó khớp với văn bản bắt đầu tại mỗi dòng mới.Chỉ khớp dòng đầu tiên trong Ruby regexp

Tôi muốn điều này để phù hợp với:

"foo\nbar" =~ /^foo/ 

và tôi muốn điều này không phù hợp với

"bar\nfoo" =~ /^foo/ 

tôi không thể tìm thấy một modifier mà làm cho các ^ (hoặc bất kỳ khác) phù hợp với nhân vật duy nhất sự bắt đầu của chuỗi. Bất kỳ trợ giúp đánh giá rất nhiều.

Trả lời

12

Trong Ruby, dấu mũ và đô la luôn khớp với trước và sau dòng mới. Ruby không có công cụ sửa đổi để thay đổi điều này. Sử dụng \ A và \ Z để khớp ở đầu hoặc cuối chuỗi.

Xem: http://www.regular-expressions.info/ruby.html

1

Từ "Lập trình Ruby"

'\A 
    Matches the beginning of the string. ' 
Các vấn đề liên quan