Số regex php

3

4

5

6

7

8

6

Tìm thấy chữ thân
Không tìm thấy chữ yêu
Tận cùng là ng
0

Sử dụng biểu thức chính quy là một kiến ​​thức cần có của các nhà phát triển. Nó giúp giải các bài toán tìm kiếm, tách dữ liệu theo mẫu định sẵn

1. Biểu thức chính quy là gì

Một biểu thức chính quy [regex] là 1 mẫu [mẫu] được sử dụng để khớp trong văn bản. Kiến thức về thông thường rất hữu ích trong các bài tìm kiếm, so khớp, bóc tách dữ liệu theo 1 mẫu nào đó

2. Mẫu  [mẫu]

Mỗi 1 mẫu phải đặt trong dấu hiệu gọi là dấu phân cách. Các dấu phân cách thường dùng trong php là  /, # , ~ }. Sau đây là một vài mẫu

/abc/
#[0-9]{3}$#
+php+
%[a-zA-Z0-9_-]%

Nếu cần khớp ký tự phân cách thì trong mẫu thêm vào trước dấu \ hoặc sử dụng dấu phân cách khác, ví dụ sau là 2 cách diễn tả mẫu http. //

/\/\//
#//#

3. Các hàm php xử lý biểu thức chính quy

a. Hàm preg_match

Hàm preg_match[$pattern, $string]  Cho biết pattern có khớp [được tìm thấy] trong chuỗi hoặc không. Ví dụ

Kết quả

Tìm thấy chữ thân
Không tìm thấy chữ yêu
Tận cùng là ng

b. Hàm preg_replace

Sử dụng biểu thức chính quy để tìm và thay thế rất hay. You use function preg_replace[] Hàm này giúp bạn tìm mẫu và thay thế bằng chuỗi mới. Ví dụ

Kết quả

    Vân Tiên nghe nói động l...,
    Đáp rằng: Ta đã trừ d.. lâu la.
    Khoan khoan ngồi đó chớ ra,
    Nàng là phận gái, ta là phận tr....
    Tiểu thư con gái nhà ...,
    Đi đâu nên nỗi mang t.. bất kỳ

c. Hàm preg_split

Sử dụng biểu thức chính quy để tách dữ liệu theo mẫu. Để thực hiện, bạn sử dụng hàm preg_split[], nó giúp tách 1 chuỗi theo mẫu mà bạn chỉ định. Ví dụ

Kết quả

Array [
[0] => Mồi phú quí dữ làng xa mã
[1] => Bả vinh hoa lừa gã công khanh
[2] => Giấc Nam Kha khéo bất bình
[3] => Bừng con mắt dậy thấy mình tay không ]

Mồi phú quí dữ làng xa mã – Bá vinh hoa lừa công khanh – Giấc Nam Kha khôn ngoan bất bình – Bừng con mắt dậy thấy mình tay không

4. Dấu chấm trong mẫu

dấu. để diễn tả 1 ký tự bất kỳ ngoại trừ ký tự dòng mới

5. Khớp mẫu ở đầu và cuối chuỗi

Dấu ^ khớp với vị trí của ký tự đầu tiên trong chuỗi hoặc dòng đầu tiên. Hạn chế với chuỗi abc, thì mẫu ^a là khớp còn mẫu ^b thì không khớp

Dấu $ khớp với ký tự vị trí cuối cùng hoặc cuối dòng. Với chuỗi abc thì mẫu  c$ sẽ khớp , còn mẫu a$ thì không khớp

6. Lớp trong mẫu [lớp ký tự trong mẫu]

Lớp trong mẫu được bao gồm bởi dấu [ ]  [ví dụ [ps] ] Lớp được sử dụng để khớp với 1 ký tự trong chuỗi. Có nghĩa là khớp nếu có 1 ký tự trong chuỗi khớp với 1 trong các ký tự của lớp. Ví dụ để so khớp các ký tự u hoặc o, thì diễn giải bằng class [ai]. Như vậy /th[ai]nh/ sẽ khớp với  thanh or thinh

Trong lớp, dấu – để diễn giải một vùng liên tục, ví dụ [0-6]  diễn giải một chữ số từ 0 đến 6. Còn đặt dấu ^ sau [ trong lớp sẽ phủ định lớp đó, nghĩa là sẽ khớp với mọi ký tự không nằm trong lớp đó. Lớp Ví dụ  a[^m]  nghĩa là “a theo sau bởi 1 ký tự không phải m”. Vì vậy sẽ không khớp trong chuỗi Tam

Chú thích

  • Các ký tự thứ tự trong lớp không quan trọng [ps] và [sp] giống nhau
  • ^  sẽ mang nghĩa bình thường nếu không đặt nó ngay sau [. Ví dụ  [x^]  sẽ khớp với x hoặc ^
  • ] sẽ mang nghĩa thông thường nếu đặt nó ở ngay sau [ hoặc  [^. Ví dụ  []x] sẽ khớp với ] hoặc x. [^]x] sẽ khớp với bất kỳ ký tự nào không phải là ] hoặc x
  • –  sẽ mang nghĩa thông thường nếu đặt nó ở ngay sau [ hoặc [^  hoặc ngay trước ]. Ví dụ  [-x] và [x-] match so khớp với – hoặc x

7. Cách viết tắt

  • \d là viết tắt của [0-9]
  • \w  to de descriptive 1 from
  • \s to to descriptor 1 “khoảng trắng” được tạo bởi dấu cách hoặc tab

Ví dụ \s\d diễn giải một ký tự trắng theo sau là một chữ số. [\s\d] khớp với ký tự trắng hoặc một chữ số

8. nối lại lớp

Dấu ? . Dấu + để diễn tả từ 1 trở lên, * là từ 0 trở lên,? . Ví dụ

________số 8

Kết quả

Array [ [0] => 0918667788 ]
Array [ [0] => Array [ [0] => 0918667788 [1] => 012375345 [2] => 86927302 ] ]

9. Tài liệu tham khảo trở lại

Tham chiếu ngược được đặt bên ngoài lớp, tham chiếu ngược bao gồm dấu \ và 1 chữ số >0 , 1 tham chiếu ngược tương ứng với 1 mẫu con chụp trước đó.  

10. Một số ví dụ

a. Ví dụ Find string con

/\/\//
#//#
0

b. Ví dụ Tách chuỗi con

/\/\//
#//#
1

c. Ví dụ Search unicode string

/\/\//
#//#
2

d. Ví dụ Search string con unicode

/\/\//
#//#
3

e. Ví dụ Find and instead

/\/\//
#//#
4

f. Ví dụ Find and instead

/\/\//
#//#
5

g. Ví dụ Find and instead

/\/\//
#//#
6

h. Ví dụ Search number

/\/\//
#//#
7

i. Ví dụ Search number and get used

/\/\//
#//#
8

j. Ví dụ Email hợp lệ

/\/\//
#//#
9

k. Ví dụ IP hợp lệ

0

l. Ví dụ Số điện thoại hợp lệ

1

Bài Tập

Tạo tệp bai1. php and executive

  • Sử dụng hàm file_get_contents để yêu cầu trang https. //vnexpress. net , kết quả lưu vào biến $str
  • Hiện code vừa nhận được [echo “”,$str,””;]
  • Run try page to view results
  • Sử dụng hàm preg_match_all để lấy tất cả các chuỗi khớp với mẫu sau đây rồi lưu vào biến mảng arr rồi hiện mảng ra trang web
2
  • Mô hình giải thích

Tạo tệp bai2. php and executive

Tương tự bài 1 nhưng lấy từ https. //nld. com. vn, các chuỗi trong giá trị của src=”” [tức là địa chỉ của các hình]. Request. chỉ lấy các hình có đuôi jpg hoặc png

Chủ Đề