Tôi muốn một regex có ký tự X hoặc Y dài. Ví dụ: khớp một chuỗi dài 8 hoặc 11 ký tự. Tôi hiện đã triển khai thực hiện điều này như sau: ^([0-9]{8}|[0-9]{11})$
.Độ dài phù hợp cụ thể x hoặc y
tôi cũng có thể thực hiện nó như: ^[0-9]{8}([0-9]{3})?$
Câu hỏi của tôi là: Tôi có thể có regex này mà không cần sao chép các [0-9]
phần (đó là phức tạp hơn \d
ví dụ đơn giản này)?
Rất đẹp ... Tôi sẽ phải tìm hiểu thêm về những cái nhìn này :) – Laoujin
Hãy coi chừng: Nếu bạn lấy '^ (? = [0-9] * $) (?:. {8} |. {11}) $ 'phiên bản, nó có thể là lỗi cho IE5-8 như được giải thích [ở đây] (http://blog.stevenlevithan.com/archives/regex-lookahead-bug). Chuyển sang phiên bản thay thế của Tim và phiên bản này hoạt động với tất cả các trình duyệt. – Laoujin
Lưu ý rằng cả hai phiên bản đều không được lược đồ XML hỗ trợ do nhóm không bắt (? :). – user1056903