Tôi phải phân tích cú pháp một số bảng từ tệp văn bản ASCII. Đây là một phần mẫu:Regex: Các nhóm chụp lặp lại
QSMDRYCELL 11.00 11.10 11.00 11.00 -.90 11 11000 1.212
RECKITTBEN 192.50 209.00 192.50 201.80 5.21 34 2850 5.707
RUPALIINS 150.00 159.00 150.00 156.25 6.29 4 80 .125
SALAMCRST 164.00 164.75 163.00 163.25 -.45 80 8250 13.505
SINGERBD 779.75 779.75 770.00 773.00 -.89 8 95 .735
SONARBAINS 68.00 69.00 67.50 68.00 .74 11 3050 2.077
Bảng bao gồm 1 cột văn bản và 8 cột số dấu phẩy động. Tôi muốn nắm bắt từng cột thông qua regex.
Tôi khá mới đối với cụm từ thông dụng. Đây là mẫu regex bị lỗi mà tôi đưa ra:
(\S+)\s+(\s+[\d\.\-]+){8}
Nhưng mẫu chỉ ghi lại cột đầu tiên và cột cuối cùng. RegexBuddy cũng phát ra cảnh báo sau:
Bạn lặp lại nhóm chụp . Nhóm sẽ chỉ chụp lần lặp cuối cùng. Đặt nhóm chụp xung quanh nhóm được lặp lại thành chụp tất cả các lần lặp lại.
Tôi đã tham khảo tệp trợ giúp của họ, nhưng tôi không có đầu mối về cách giải quyết vấn đề này.
Làm cách nào để tôi có thể chụp từng cột một cách riêng biệt?
Bạn đang sử dụng ngôn ngữ nào? Trong .NET thật dễ dàng. –
@Tim: Có, tôi có ý định viết chương trình bằng C#. Nhưng hiện tại, tôi đang tạo mẫu bằng Python. – invarbrass
Xem thêm: http: // stackoverflow.com/questions/3029127/is-there-a-regex-hương vị-đó-cho phép-tôi-to-count-the-số-of-repetitions-phù hợp/ – polygenelubricants