Các mô hình sẽ là:
^\$\d{0,6}(\.\d{0,2})?$
này không xác minh rằng có bất kỳ chữ số như vậy "$". là kết quả hợp lệ và kết quả hợp lệ được cung cấp cho các yêu cầu ban đầu của người hỏi.
Để giải thích:
^
có nghĩa là chỉ phù hợp nếu không có gì trước khi chuỗi Tôi đang tìm, tức là "USD $ 123,45" sẽ thất bại trong ví dụ này là $ (phù hợp với \$
) không phải là ngay sau khi bắt đầu chuỗi.
\$
khớp với ký tự $, việc sử dụng dấu chéo ngược() được gọi là thoát và được sử dụng để cho phép bạn khớp các ký tự dành riêng (có nghĩa là nội dung nào đó trong cụm từ thông dụng) trong trường hợp này $ có nghĩa là khớp với cuối chuỗi, tức là không có ký tự sau thời điểm này
\d
sẽ phù hợp với bất kỳ ký tự chữ số thập phân, tức là 0-9
{n,m}
sẽ phù hợp với từ n đến m trường hợp của các yếu tố trên, nếu n là 0 thì nó có hiệu quả có nghĩa là trận đấu là tùy chọn.
\.
sẽ khớp với dấu thập phân, nó được thoát như. là ký tự dành riêng trong cụm từ thông dụng có nghĩa là khớp với bất kỳ ký tự nào
(...)
mang cụm từ thông dụng bên trong với nhau, có những hậu quả khác nhưng tôi sẽ để lại cho bạn khám phá.Trong trường hợp này, hoàn toàn có lợi cho nhân vật tiếp theo trong cụm từ thông dụng
?
sẽ khớp 0 hoặc 1 của phần tử trước (trong trường hợp này nhóm tìm dấu thập phân và tối đa 2 ký tự thập phân, vì vậy chúng tôi hy vọng không có dấu thập phân với các ký tự sau (0 lần xuất hiện) hoặc dấu thập phân với tối đa 2 ký tự thập phân (1 lần xuất hiện))
$
khớp với phần cuối của chuỗi, không có ký tự nào trong chuỗi sau thời điểm này.
Tôi nghĩ có các phím tắt/bí danh regex cho các chữ số thập phân, vì vậy tất cả các đề xuất có chứa [0-9] này có thể được thay thế bằng các chữ số đó. –
Đó là sự thật và đáng chú ý. Tôi luôn muốn sử dụng những cái rõ ràng hơn nếu dạng dài không nhiều hơn các phím tắt. Đối với những thứ như khoảng trắng của nó gây phiền nhiễu để viết nó ra đầy đủ, cho những chữ cái và số tôi tìm thấy nó có nghĩa là họ có nhiều hơn trong nháy mắt dễ đọc cho những người ít sử dụng để regex (và do đó các phím tắt lớp nhân vật). – Chris
Không có số tiền âm, ví dụ: tiền hoàn lại? –