Ví dụ, tôi muốn đếm có bao nhiêu con số trong một chuỗi sử dụng một regex như: [0-9]Làm cách nào để đếm số lượng kết quả trùng khớp bằng một regex?
Trả lời
Regex.Matches(text, pattern).Count
Regex.Matches(input, @"\d").Count
Vì đây sẽ bố trí một trường hợp trận đấu cho mỗi trận đấu, điều này có thể là tối ưu hiệu suất phụ-khôn ngoan. Bản năng của tôi sẽ là thực hiện một số việc như sau:
input.Count(Char.IsDigit)
Ví dụ về đối sánh MatchCollection được trả về từ cuộc gọi đến phương thức đối sánh trên RegEx sẽ cho bạn biết số lượng kết quả phù hợp. Tuy nhiên, những gì tôi nghi ngờ là nó có thể không được tính là sai, nhưng bạn có thể cần phải cụ thể hơn với biểu thức chính quy của bạn (làm cho nó ít tham lam) để xác định các trường hợp cụ thể của trận đấu bạn muốn.
Điều bạn hiện có nên cung cấp cho bạn tất cả các trường hợp của một số trong một chuỗi, vì vậy bạn có nhận được kết quả mà bạn tin là không chính xác không? Nếu vậy, bạn có thể cung cấp chuỗi và regex không?
xin lỗi, hãy nhấp vào, thay vào đó hãy đăng câu trả lời –
var a = new Regex("[0-9]");
Console.WriteLine(a.Matches("1234").Count);
Console.ReadKey();
var regex = new Regex(@"\d+");
var input = "123 456";
Console.WriteLine(regex.Matches(input).Count); // 2
// we want to count the numbers, not the number of digits
- 1. Làm cách nào để in số lượng kết quả trùng khớp duy nhất bằng grep?
- 2. Làm cách nào để Regex chỉ khớp với các kết quả khớp chính xác?
- 3. Làm cách nào để viết regex cho các kết quả khớp chuỗi bắt đầu bằng @ hoặc kết thúc bằng?
- 4. Làm cách nào để tìm các kết quả trùng lặp trùng lặp với regexp?
- 5. Làm thế nào tôi có thể chụp nhiều kết quả trùng khớp từ cùng một regex Perl?
- 6. Trùng khớp các trận đấu trong Regex
- 7. Làm thế nào để bạn đếm số lượng thẻ dữ liệu rất lớn một cách hiệu quả bằng Python?
- 8. Làm cách nào để chỉ thay thế kết quả trùng khớp cuối cùng của chuỗi bằng preg_replace?
- 9. Làm cách nào để đếm số lượng JsObject trong JsValue?
- 10. Làm cách nào để có thể đếm số lượng dòng trong một tệp theo cách hiệu quả?
- 11. Làm cách nào để nắm bắt tất cả các kết quả trùng khớp của nhóm lặp lại với Boost :: regex_search?
- 12. Regex: làm thế nào để sử dụng lookahead/lookbehind trên kết quả của một mô hình?
- 13. cách hiệu quả để đếm các dòng lượng tuân theo một số điều kiện
- 14. Số lượng đối sánh regex
- 15. Làm cách nào để đếm số lượng kết nối mở trong cơ sở dữ liệu sqlite?
- 16. Làm cách nào để đếm số lượng pixel trắng trong hình ảnh nhị phân bằng MATLAB?
- 17. Làm cách nào để khớp các ký tự có dấu với một regex bằng Python?
- 18. Làm cách nào để tạo chuỗi để khớp với regex?
- 19. Làm cách nào để khớp văn bản trong dấu ngoặc đơn bằng regex?
- 20. Làm cách nào để đếm số lượng hộp kiểm được chọn trên một trang với jQuery
- 21. Đặt kết quả đếm từ vào biến số
- 22. Đếm số kết quả phù hợp của một ký tự cụ thể trong một chuỗi được khớp với một ký tự đại diện regex
- 23. Làm cách nào để đếm số lần xuất hiện các mục trùng lặp trong mảng
- 24. Regex số khớp với điểm
- 25. Làm cách nào để hạn chế số lượng kết quả được trả lại trong Sybase?
- 26. truy vấn SQL đếm số lượng các kết quả mà điều kiện khác nhau giữ
- 27. Làm thế nào để đếm số lượng chữ cái trong một chuỗi không có dấu cách?
- 28. Làm cách nào để tìm kết quả trùng lặp ngắn nhất bằng các cụm từ thông dụng?
- 29. Lấy số lượng hàng trong một kết quả Java
- 30. So khớp regex và gán kết quả vào một dòng mã
này sẽ trả lại số ký tự trong một chuỗi. "123 456" sẽ trả về 6, mặc dù chỉ có 2 số. Chính xác sẽ là Regex.Matches (đầu vào, @ "\ d +") Đếm –
Không tệ, nhưng đây là trường hợp cụ thể. Các trận đấu regex khác sẽ không thể được tính mà không có chức năng riêng biệt – JustDaveN