Hướng dẫn what are regular expressions in php? - biểu thức chính quy trong php là gì?


Biểu thức chính quy không gì khác hơn là một chuỗi hoặc mẫu của chính các ký tự. Họ cung cấp nền tảng cho chức năng phù hợp với mẫu.

Sử dụng biểu thức chính quy Bạn có thể tìm kiếm một chuỗi cụ thể bên trong một chuỗi khác, bạn có thể thay thế một chuỗi bằng một chuỗi khác và bạn có thể chia một chuỗi thành nhiều khối.

PHP cung cấp các chức năng cụ thể cho hai bộ hàm biểu thức chính quy, mỗi hàm tương ứng với một loại biểu thức chính quy nhất định. Bạn có thể sử dụng bất kỳ trong số họ dựa trên sự thoải mái của bạn.

  • Biểu thức thường xuyên POSIX
  • Phong cách perl biểu thức chính quy

Biểu thức thường xuyên POSIX

Phong cách perl biểu thức chính quy

Cấu trúc của một biểu thức chính quy POSIX không giống với biểu thức số học điển hình: các yếu tố khác nhau (toán tử) được kết hợp để tạo thành các biểu thức phức tạp hơn.

Biểu thức chính quy đơn giản nhất là một biểu thức phù hợp với một ký tự duy nhất, chẳng hạn như G, các chuỗi bên trong như G, Haggle hoặc Túi.

Hãy đưa ra lời giải thích cho một vài khái niệm đang được sử dụng trong biểu thức chính quy POSIX. Sau đó, chúng tôi sẽ giới thiệu cho bạn các chức năng liên quan đến biểu thức thông thường.

Dấu ngoặc

Sr.NoDấu ngoặc ([]) có một ý nghĩa đặc biệt khi được sử dụng trong bối cảnh của các biểu thức chính quy. Chúng được sử dụng để tìm một loạt các ký tự.
1

[0-9]

Biểu thức & mô tả

2

[a-z]

Nó phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 9.

3

[A-Z]

Nó phù hợp với bất kỳ ký tự nào từ trường hợp thấp hơn A đến thường Z.

4

[a-Z]

Nó phù hợp với bất kỳ ký tự nào từ chữ hoa A đến qua chữ hoa Z.

Nó phù hợp với bất kỳ ký tự nào từ chữ thường A đến chữ hoa Z.

Các phạm vi hiển thị ở trên là chung; Bạn cũng có thể sử dụng phạm vi [0-3] để phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 3 hoặc phạm vi [B-V] để phù hợp với bất kỳ ký tự chữ thường nào từ B đến V.

Định lượng

Sr.NoDấu ngoặc ([]) có một ý nghĩa đặc biệt khi được sử dụng trong bối cảnh của các biểu thức chính quy. Chúng được sử dụng để tìm một loạt các ký tự.
1

p+

Biểu thức & mô tả

2

p*

Nó phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 9.

3

p?

Nó phù hợp với bất kỳ ký tự nào từ trường hợp thấp hơn A đến thường Z.

4

p{N}N}

Nó phù hợp với bất kỳ ký tự nào từ chữ hoa A đến qua chữ hoa Z.N p's

5

p{2,3}

Nó phù hợp với bất kỳ ký tự nào từ chữ thường A đến chữ hoa Z.

6

Các phạm vi hiển thị ở trên là chung; Bạn cũng có thể sử dụng phạm vi [0-3] để phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 3 hoặc phạm vi [B-V] để phù hợp với bất kỳ ký tự chữ thường nào từ B đến V.

Định lượng

7

p$

Tần số hoặc vị trí của các chuỗi ký tự được đặt dấu ngoặc và các ký tự đơn có thể được ký hiệu bằng một ký tự đặc biệt. Mỗi nhân vật đặc biệt có một ý nghĩa cụ thể. +, *,?, {Int. Phạm vi} và $ cờ đều tuân theo một chuỗi ký tự.

8

^pp

Nó phù hợp với bất kỳ chuỗi chứa ít nhất một p.

Nó phù hợp với bất kỳ chuỗi nào chứa 0 hoặc nhiều P.

Nó phù hợp với bất kỳ chuỗi nào chứa 0 hoặc một p.

Sr.NoDấu ngoặc ([]) có một ý nghĩa đặc biệt khi được sử dụng trong bối cảnh của các biểu thức chính quy. Chúng được sử dụng để tìm một loạt các ký tự.
1

[^a-zA-Z]

Biểu thức & mô tả

2

p.p

Nó phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 9.

3

^.{2}$

Nó phù hợp với bất kỳ ký tự nào từ trường hợp thấp hơn A đến thường Z.

4

Nó phù hợp với bất kỳ ký tự nào từ chữ hoa A đến qua chữ hoa Z.

Nó phù hợp với bất kỳ ký tự nào từ chữ thường A đến chữ hoa Z.

5

p(hp)*

Các phạm vi hiển thị ở trên là chung; Bạn cũng có thể sử dụng phạm vi [0-3] để phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 3 hoặc phạm vi [B-V] để phù hợp với bất kỳ ký tự chữ thường nào từ B đến V.

Định lượng

Tần số hoặc vị trí của các chuỗi ký tự được đặt dấu ngoặc và các ký tự đơn có thể được ký hiệu bằng một ký tự đặc biệt. Mỗi nhân vật đặc biệt có một ý nghĩa cụ thể. +, *,?, {Int. Phạm vi} và $ cờ đều tuân theo một chuỗi ký tự.

Sr.NoDấu ngoặc ([]) có một ý nghĩa đặc biệt khi được sử dụng trong bối cảnh của các biểu thức chính quy. Chúng được sử dụng để tìm một loạt các ký tự.
1

[[:alpha:]]

Biểu thức & mô tả

2

[[:digit:]]

Nó phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 9.

3

[[:alnum:]]

Nó phù hợp với bất kỳ ký tự nào từ trường hợp thấp hơn A đến thường Z.

4

[[:space:]]

Nó phù hợp với bất kỳ ký tự nào từ chữ hoa A đến qua chữ hoa Z.

Nó phù hợp với bất kỳ ký tự nào từ chữ thường A đến chữ hoa Z.

Các phạm vi hiển thị ở trên là chung; Bạn cũng có thể sử dụng phạm vi [0-3] để phù hợp với bất kỳ chữ số thập phân nào từ 0 đến 3 hoặc phạm vi [B-V] để phù hợp với bất kỳ ký tự chữ thường nào từ B đến V.

Sr.NoĐịnh lượng
1 ereg()

Tần số hoặc vị trí của các chuỗi ký tự được đặt dấu ngoặc và các ký tự đơn có thể được ký hiệu bằng một ký tự đặc biệt. Mỗi nhân vật đặc biệt có một ý nghĩa cụ thể. +, *,?, {Int. Phạm vi} và $ cờ đều tuân theo một chuỗi ký tự.

2 ereg_replace()

Nó phù hợp với bất kỳ chuỗi chứa ít nhất một p.

3 eregi()

Nó phù hợp với bất kỳ chuỗi nào chứa 0 hoặc nhiều P.

4 eregi_replace()

Nó phù hợp với bất kỳ chuỗi nào chứa 0 hoặc một p.

5 split()

Nó phù hợp với bất kỳ chuỗi nào chứa chuỗi của n p's

6 spliti()

Nó phù hợp với bất kỳ chuỗi nào chứa chuỗi hai hoặc ba p.

7 sql_regcase()

Hàm sql_regcase () có thể được coi là hàm tiện ích, chuyển đổi từng ký tự trong chuỗi tham số đầu vào thành một biểu thức được đặt ở hai ký tự.

Phong cách perl biểu thức chính quy

Các biểu thức chính quy kiểu Perl tương tự như các đối tác POSIX của họ. Cú pháp POSIX có thể được sử dụng gần như có thể thay thế cho nhau với các hàm biểu thức chính quy kiểu Perl. Trên thực tế, bạn có thể sử dụng bất kỳ bộ định lượng nào được giới thiệu trong phần POSIX trước đó.

Hãy đưa ra lời giải thích cho một vài khái niệm đang được sử dụng trong các biểu thức thường xuyên của Perl. Sau đó, chúng tôi sẽ giới thiệu cho bạn các chức năng liên quan đến biểu thức thông thường.

Ký tự meta

Một nhân vật meta chỉ đơn giản là một ký tự bảng chữ cái đi trước bởi một dấu gạch chéo ngược có tác dụng mang lại cho sự kết hợp một ý nghĩa đặc biệt.

Chẳng hạn, bạn có thể tìm kiếm số tiền lớn bằng cách sử dụng ký tự meta '\ d': /([\ d]+) 000 /, ở đây \ D sẽ tìm kiếm bất kỳ chuỗi ký tự số nào./([\d]+)000/, Here \d will search for any string of numerical character.

Sau đây là danh sách các ký tự meta có thể được sử dụng trong các biểu thức chính quy kiểu Perl.

Character		Description
.              a single character
\s             a whitespace character (space, tab, newline)
\S             non-whitespace character
\d             a digit (0-9)
\D             a non-digit
\w             a word character (a-z, A-Z, 0-9, _)
\W             a non-word character
[aeiou]        matches a single character in the given set
[^aeiou]       matches a single character outside the given set
(foo|bar|baz)  matches any of the alternatives specified

Sửa đổi

Một số sửa đổi có sẵn có thể giúp công việc của bạn với RegEXP dễ dàng hơn nhiều, như độ nhạy của trường hợp, tìm kiếm trong nhiều dòng, v.v.

Modifier	Description
i 	Makes the match case insensitive
m 	Specifies that if the string has newline or carriage
	return characters, the ^ and $ operators will now
	match against a newline boundary, instead of a
	string boundary
o 	Evaluates the expression only once
s 	Allows use of . to match a newline character
x 	Allows you to use white space in the expression for clarity
g 	Globally finds all matches
cg 	Allows a search to continue even after a global match fails

Các chức năng tương thích regexp perl của PHP

PHP cung cấp các chức năng sau để tìm kiếm các chuỗi bằng cách sử dụng các biểu thức thông thường tương thích Perl-

Sr.NoMô tả chức năng
1 preg_match()

Chức năng preg_match () tìm kiếm chuỗi cho mẫu, trả về đúng nếu mẫu tồn tại và sai.

2 preg_match_all()

Hàm preg_match_all () phù hợp với tất cả các lần xuất hiện của mẫu trong chuỗi.

3 preg_replace()

Hàm preg_replace () hoạt động giống như ereg_replace (), ngoại trừ các biểu thức thông thường có thể được sử dụng trong các tham số đầu vào mẫu và thay thế.

4 preg_split()

Hàm preg_split () hoạt động chính xác như split (), ngoại trừ các biểu thức chính quy được chấp nhận làm tham số đầu vào cho mẫu.

5 preg_grep()

Hàm preg_grep () tìm kiếm tất cả các yếu tố của input_array, trả về tất cả các phần tử phù hợp với mẫu regexp.

6 preg_ quote ()

Trích dẫn các ký tự biểu thức chính quy

Biểu thức chính quy với ví dụ là gì?

Giải pháp: Như chúng ta đã biết, bất kỳ số lượng nào của A có nghĩa là A*bất kỳ số nào của B có nghĩa là B*, bất kỳ số lượng nào của C có nghĩa là C*.Vì như được đưa ra trong tuyên bố vấn đề, B xuất hiện sau khi A và C xuất hiện sau B's.Vì vậy, biểu thức chính quy có thể là: r = a* b* c*R = a* b* c*

Có bao nhiêu loại biểu thức thông thường trong PHP?

PHP cung cấp hai bộ chức năng biểu thức thông thường: Biểu thức chính quy POSIX.Perl phong cách biểu hiện chính quy.two sets of regular expression functions: POSIX Regular Expression. PERL Style Regular Expression.

Các loại biểu thức chính quy là gì?

Ngoài ra còn có hai loại biểu thức chính quy: biểu thức chính quy "cơ bản" và biểu thức chính quy "mở rộng".the "Basic" regular expression, and the "extended" regular expression.

Việc sử dụng các biểu thức thông thường là gì?

Biểu thức thường xuyên đặc biệt hữu ích để xác định các bộ lọc.Các biểu thức chính quy chứa một loạt các ký tự xác định một mẫu văn bản được khớp với nhau để làm cho bộ lọc trở nên chuyên dụng hơn hoặc chung.Ví dụ: biểu thức chính quy ^al [.]*defining filters. Regular expressions contain a series of characters that define a pattern of text to be matched—to make a filter more specialized, or general. For example, the regular expression ^AL[.]*