Làm cách nào tôi có thể khớp hai số trong PHP?

Trong bài viết này, bạn sẽ tìm hiểu cách so khớp các số và phạm vi số trong Biểu thức chính quy. Phạm vi số Regex bao gồm khớp từ 0 đến 9, 1 đến 9, 0 đến 10, 1 đến 10, 1 đến 12, 1 đến 16 và 1-31, 1-32, 0-99, 0-100, 1-100,

Điều quan trọng đầu tiên cần ghi nhớ về biểu thức chính quy là họ không biết số, họ không biết đếm và họ không thể hiểu 1-100 có nghĩa là bất kỳ số nào từ 1 đến 100. Lý do là regex chỉ xử lý văn bản chứ không phải số, do đó bạn phải cẩn thận một chút khi xử lý các số và phạm vi số hoặc phạm vi số trong các hoạt động đối sánh, tìm kiếm, xác thực hoặc thay thế regex.  

Nếu bạn muốn học Regex cho các số và bất kỳ Dãy số nào với logic và các ví dụ đơn giản và thực tế, tôi khuyên bạn nên xem Khóa học Regex đơn giản và chính xác này với cách tiếp cận từng bước. Khóa học video này dạy cho bạn Logic và Triết lý của Biểu thức chính quy cho các phạm vi số khác nhau

Chỉ là một ví dụ, giả sử nếu bạn muốn khớp bất kỳ số nào từ 1 đến 100 và bạn viết regex cho nó là

/[1-100]/

và hy vọng rằng nó sẽ khớp với tất cả các số từ 1 đến 100, sau đó regex của bạn sẽ hoạt động nhưng cho kết quả không mong muốn. Regex này sẽ chỉ khớp với hai số, vâng, chỉ có hai số và KHÔNG nghi ngờ gì về điều đó. Bạn có thể tìm ra hai số nào không? . Tương tự, phạm vi [0-255] sẽ khớp với 0,1,2,5. Đầu tiên là phạm vi 0-2 trong một lớp ký tự sẽ khớp với 0,1,2 và 5 được viết hai lần, sẽ khớp với 5. Bây giờ, hãy bắt đầu logic và triết lý của các số và phạm vi số phù hợp trong Biểu thức chính quy

Số trong Regex

Trận đấu đơn giản nhất cho các số là trận đấu theo nghĩa đen. Nếu bạn muốn ghép 3 chỉ cần viết /3 / hoặc nếu bạn muốn ghép 99 viết /99/ là sẽ ghép thành công. Tương tự, để khớp với 2019, hãy viết /2019/ và đó là một số khớp với chữ. Nhưng bạn có thể thấy nó không linh hoạt vì rất khó để biết về một số cụ thể trong văn bản hoặc số có thể xuất hiện trong phạm vi.  

\d cho số có một hoặc nhiều chữ số

Để khớp với bất kỳ số nào từ 0 đến 9, chúng tôi sử dụng \d trong regex. Nó sẽ khớp với bất kỳ số có một chữ số nào từ 0 đến 9.  

\d có nghĩa là  [0-9]   hoặc khớp với bất kỳ số nào từ 0 đến 9. Thay vì viết 0123456789, phiên bản tốc ký là [0-9] trong đó [] được sử dụng cho phạm vi ký tự

[1-9][0-9] sẽ khớp với số có hai chữ số từ 10 đến 99

Nhưng nếu bạn muốn khớp số của bất kỳ số chữ số nào như 2,55,235, 9875, một bộ định lượng được thêm vào cuối

/ \d+ /     trong đó + là một bộ định lượng khớp giữa một và nhiều lần nhất có thể

Số có hai chữ số hoặc ba chữ số khớp với nhau

Để khớp một số có hai chữ số  / \d{2} / được sử dụng trong đó {} là một số lượng và 2 có nghĩa là khớp hai lần hoặc đơn giản là một số có hai chữ số. Tương tự / \d{3} / được sử dụng để khớp với một số có ba chữ số, v.v.  

Kết hợp Regex cho dãy số

Bây giờ về phạm vi số và mã biểu thức chính quy của chúng với ý nghĩa. Thông thường, ranh giới từ được sử dụng trước và sau số \b  hoặc  ^ ký tự $ được sử dụng để bắt đầu hoặc kết thúc chuỗi.  

Regex cho phạm vi 0-9

Để khớp với phạm vi số từ 0-9 i. e bất kỳ số nào từ 0 đến 9, biểu thức chính quy rất đơn giản

/[0-9]/

Regex cho 1 đến 9

Để khớp với bất kỳ số nào từ 1 đến 9, biểu thức chính quy rất đơn giản

/[1-9]/

Tương tự, bạn có thể sử dụng /[3-7]/ để khớp với bất kỳ số nào từ 3 đến 7 hoặc /[2-5]/ để khớp với 2,3,4,5

Regex cho 0 đến 10

Để khớp các số từ 0 đến 10 là khởi đầu của một chút phức tạp, không nhiều lắm, nhưng một cách tiếp cận khác được sử dụng. Loạt bài này được chia thành hai thành phần

1. từ 0 đến 9

2. 10

Và regex sẽ được viết cho các thành phần

/\b[[0-9]. 10]\b/

Giải trình

Đối với hai thành phần, chúng tôi đang viết hai phần

1. từ 0 đến 9    [0-9] &

2. 10    10 và chúng tôi đang sử dụng một nhóm và sử dụng. toán tử được gọi là toán tử OR có nghĩa là 0-9 hoặc 10 ở đây

Regex cho 1 đến 10

Tương tự từ 1 đến 10, biểu thức chính quy sẽ là

\b[[1-9]. 10]\b

Regex cho 1 đến 12

\b[[1-9]. 1[0-2]]\b

Phạm vi từ 1 đến 12 được chia thành hai phạm vi

1. 1 đến 9 -->  [1-9]

2. 10 đến 12 --> 1[0-2]

Regex cho 1 đến 16

\b[[1-9]. 1[0-6]]\b

Trong trường hợp này, phạm vi được chia thành

1. 1 đến 9

2. 10 đến 16

Regex cho dải số 1-31

\b[[1-9]. [12][0-9]. 3[01]]\b

Ở đây, phạm vi từ 1-31 được chia thành ba thành phần cho mỗi yêu cầu

1. 1 đến 9 --> [0-9]

2. 10 đến 29 --> [12][0-9]

3. 30 đến 31 --> 3[01]

Regex cho 1-32

Regex cho 1 đến 32 là

\b[[1-9]. [12][0-9]. 3[0-2]]\b

1. 1 đến 9 --> [0-9]

2. 10 đến 29 --> [12][0-9]

3. 30 đến 32 --> 3[02]

Regex cho 0-99

Biểu thức chính quy cho phạm vi từ 0 đến 99 là

\b[[0-9]. [1-9][0-9]]\b

Phạm vi này được chia thành hai phạm vi

1. 0 đến 9 --> [0-9]

2. 10 đến 99 --> [1-9][0-9]

Regex cho 0-100

Regex cho phạm vi 0 đến 100 là

\b[[0-9]. [1-9][0-9]. 100]\b

Ở đây phạm vi được chia thành ba thành phần và thành phần bổ sung sau phạm vi trước đó là số 100

Làm cách nào để so sánh hai dữ liệu trong PHP?

So sánh hai ngày trong PHP rất đơn giản khi cả hai ngày đều có cùng định dạng nhưng vấn đề phát sinh khi cả hai ngày có định dạng khác nhau. Phương pháp 1. Nếu các ngày đã cho có cùng định dạng thì hãy sử dụng toán tử so sánh đơn giản để so sánh các ngày . echo "$date1 cũ hơn $date2" ;

Làm cách nào để so sánh giá trị số nguyên trong PHP?

true nếu $a lớn hơn hoặc bằng $b. Một int nhỏ hơn, bằng hoặc lớn hơn 0 khi $a tương ứng nhỏ hơn, bằng hoặc lớn hơn $b. Nếu cả hai toán hạng đều là chuỗi số hoặc một toán hạng là số và toán hạng còn lại là chuỗi số, thì việc so sánh được thực hiện bằng số .

Ý nghĩa của === trong PHP là gì?

== Toán tử. Toán tử này dùng để kiểm tra các giá trị đã cho có bằng nhau hay không . Nếu đúng thì trả về true, ngược lại trả về false. cú pháp. toán hạng1 == toán hạng2. === Nhà điều hành. Toán tử này dùng để kiểm tra các giá trị đã cho và kiểu dữ liệu của nó có bằng nhau hay không. Nếu đúng thì trả về true, ngược lại trả về false.

Làm cách nào để so sánh hai chuỗi trong PHP?

Hàm strcmp[] so sánh hai chuỗi. Ghi chú. Hàm strcmp[] an toàn nhị phân và phân biệt chữ hoa chữ thường. Mẹo. Hàm này tương tự như hàm strncmp[], với sự khác biệt là bạn có thể chỉ định số lượng ký tự từ mỗi chuỗi sẽ được sử dụng để so sánh với hàm strncmp[].

Chủ Đề