Tôi đang cố xác thực tính năng nhập của người dùng, chỉ là số được phân tách bằng dấu phẩy. Tôi muốn làm điều này với RegEx, nhưng không thể đưa ra biểu thức đúng.Regex cho số được phân tách bằng dấu phẩy
Cần xác nhận các chuỗi kí tự sau (và lớn hơn):
1
12
123
1,234
12,345
123,456
và vô hiệu hóa các chuỗi kí tự sau (và điên):
1,1
1,12
12,1
12,12
123,1
123,1
Bất kỳ trợ giúp sẽ được đánh giá rất nhiều.
Đây là những gì tôi đã cố gắng cho đến nay (EDIT: mà không làm việc), cùng với một số biến thể ->
^(((\d{1,3},)*\d{3})|(\d{1,3}))$
^(\d{1,3}[,])*\d{3}|\d{1,3}$
+1 Được thực hiện tốt. Chỉ trích duy nhất của tôi: vì biểu thức chính quy này chỉ để xác thực bạn nên thay đổi nhóm chụp đó thành một nhóm không bắt giữ. –
Điểm tốt, nhưng nó luôn luôn làm phiền tôi rằng làm cho một nhóm không nắm bắt làm cho regex xấu xí hơn. –
nhìn vào regex ban đầu có vẻ thắp sáng một chuỗi như 12.1123 là hợp pháp ((\ d {1,3},) * \ d {3}) mà ở trên không đáp ứng –