2009-04-03 32 views
16

Tôi có một chuỗi có thể có hoặc không chứa một số 4 hoặc 5 chữ số. Tôi đang tìm một regex có thể phát hiện nếu chuỗi trong thực tế có một số như vậy.Regex để tìm một số trong một chuỗi

+5

+1: Không biết tại sao câu hỏi này được giảm giá. Có lẽ một số l33t sooper h @><0rz trên trang web này nghĩ rằng quá xa bên dưới họ để đánh giá một câu trả lời, mặc dù Câu hỏi thường gặp trên trang web này nói rằng không có câu hỏi là "quá đơn giản" để hỏi ... – Juliet

+0

Tại sao không sử dụng một vòng lặp for? – Mikhail

Trả lời

15

Người hết sức rõ ràng để tránh số còn sẽ là:

([^\d]|^)\d{4,5}([^\d]|$) 

Tôi giả sử bạn không muốn cho phép dấu phẩy sau hàng nghìn chữ số? Nếu bạn làm như vậy:

([^\d]|^)\d{1,2},\d{3}([^\d]|$) 
1

Đơn giản \d{4,5} sẽ đủ.

0

.NET? Sau đó là [0-9]{4,5}

+0

\ d cũng hoạt động tốt. Net cũng vậy. –

+0

Phải. Tôi không phải là một anh chàng Regexp, vì vậy tôi không nhớ các lớp nhân vật. [0-9] dễ hơn. : D –

2

\ d {4,5} cũng sẽ tìm chuỗi có 6 chữ số trong - Tôi không biết đó có phải là sự cố hay không. Bạn có thể muốn làm điều gì đó như thế này:

([^ \ d] + | ^) \ d {4,5} [^ \ d]

+0

Cảm ơn bạn đã chấp nhận, nhưng có những câu trả lời hay hơn hiện tại –

Các vấn đề liên quan