Tôi đoán đây sẽ là một sai lầm ngớ ngẩn nhưng đối với tôi, sau đây trả về một mảng chỉ chứa "M". Xem phần này:Ruby Regex, Chỉ một lần chụp (Rất đơn giản!)
/(.)+?/.match("Many many characters!").captures
=> ["M"]
Tại sao nó không trả về một mảng của mỗi ký tự? Tôi chắc hẳn đã bỏ lỡ điều gì đó rõ ràng bởi vì tôi không thể thấy điều gì sai trái với điều này?
Chỉnh sửa: Chỉ cần nhận ra, tôi không cần dấu +? nhưng nó vẫn không hoạt động nếu không có nó.
Chỉnh sửa: Xin lỗi! Tôi sẽ làm rõ: mục tiêu của tôi là cho phép người dùng nhập biểu thức và kiểu dáng thông thường và tệp văn bản đầu vào, bất cứ nơi nào có khớp, văn bản sẽ được bao quanh với phần tử html và kiểu dáng sẽ được áp dụng, tôi không chỉ tách chuỗi ký tự, tôi chỉ sử dụng regex đã cho bởi vì nó là đơn giản nhất mặc dù đó là ngu ngốc trên một phần của tôi. Làm thế nào để tôi có được nhóm chụp từ quét() hoặc là không thể? Tôi thấy rằng $ 1 chứa "!" (trận đấu cuối cùng?) và không phải bất kỳ người nào khác.
Chỉnh sửa: Gosh, nó thực sự không phải là ngày của tôi. Như injekt đã thông báo cho tôi, các ảnh chụp được lưu trữ trong các mảng riêng biệt. Làm thế nào để tôi có được bù đắp của những ảnh chụp từ chuỗi gốc? Tôi muốn có thể có được bù đắp của một ảnh chụp sau đó bao quanh nó bằng một chuỗi khác. Hoặc đó là những gì gsub là cho? (Tôi nghĩ rằng chỉ thay thế của trận đấu, không phải là một nhóm chụp)
thức Hy vọng chỉnh sửa: Đúng vậy, hãy để tôi chỉ bắt đầu này một lần nữa: P
Vì vậy, tôi có một chuỗi. Người dùng sẽ sử dụng tệp cấu hình để nhập cụm từ thông dụng, sau đó là kiểu được liên kết với từng nhóm chụp. Tôi cần để có thể quét toàn bộ chuỗi và nhận được sự bắt đầu và kết thúc hoặc bù đắp và kích thước của mỗi trận đấu nhóm.
Vì vậy, nếu người dùng đã cấu hình ([\w-\.]+)@((?:[\w]+\.)+)([a-zA-Z]{2,4})
(địa chỉ email) sau đó tôi sẽ có thể nhận được:
[ ["elliotpotts", 0, 11],
["sample.", 12, 7],
["com", 19, 3] ]
từ chuỗi: "[email protected]"
Nếu đó không phải là rõ ràng, có điều gì đó sai trái với tôi: P. Cảm ơn rất nhiều cho đến nay guys, và cảm ơn bạn đã kiên nhẫn!
Tôi vừa xem chỉnh sửa, nhóm chụp từ quét được lưu trữ trong các mảng riêng biệt, chỉ cần thử regexp và chuỗi kiểm tra trong irb bạn sẽ thấy. Câu trả lời vẫn giữ nguyên với chỉnh sửa được bao gồm –
Chỉ cần xem chỉnh sửa tiếp theo của bạn, bạn sẽ phải cập nhật thêm thông tin. Bây giờ tôi hơi bối rối: P Cảm thấy tự do để đưa ra một ví dụ hoàn chỉnh hơn cho dù chúng ta có giả vờ như thế nào để chúng ta biết chính xác những gì bạn cần trích xuất –
Được rồi, đã cập nhật câu trả lời của tôi với bản chỉnh sửa mới nhất của bạn. Tôi là một chút gắn liền với thời gian ngay bây giờ vì vậy nó chỉ là giải pháp hoàn chỉnh không có lời giải thích, cho tôi biết nếu nó không có ý nghĩa và tôi sẽ cập nhật nó –