CuDemVN.Wap.Sh

- GetSmile.Mobie.In - Diễn đàn chia sẻ Cú đêm Việt Nam
- AiChat.Wap.Sh - Diễn đàn Xtgem Việt Nam
- HamTruyen.Xtgem.Com - Blog Ham Truyện nơi hội tụ của những tín đồ mê truyện chữ
* Trang chủ >> WapMaster
Tìm Kiếm Thảo Luận
↓↓

Học Regular Expressions trong PHP đầy đủ và chi tiết [Quan Trọng]

Admin* RoSino18k *
* 24-01-2016

Regular Expressions

1. Regular expression là gì?


+ Biểu thức chính quy.
+ Là 1 chuỗi có quy tắc để mô tả những chuỗi (string) khác


2. Cú pháp cơ bản


Ví dụ:
<?php
$re = '/hello/'; // biểu thức chính quy cho một string có chuỗi “hello” ở trong đó.
$str = 'hello world';
if(preg_match($re, $str)) {
echo 'Yes';
}
?>

Output: Yes
+ Ký hiệu ^$: bắt đầu và kết thúc 1 string
Ví dụ:
<?php
$re = '/^hello/'; // biểu thức chính quy cho một string bắt đầu bởi chuỗi “hello”
$str = 'hello world';
if(preg_match($re, $str)) {
echo 'Yes';
}
else {
echo 'No';
}
?>

Output: Yes

<?php
$re = '/hello$/'; // biểu thức chính quy cho một string kết thúc bởi chuỗi “hello”
$str = 'hello world';
if(preg_match($re, $str)) {
echo 'Yes';
}
else {
echo 'No';
}
?>

Output: No
+ Ký hiệu: *, +, ?
$re = '/^ab*$/' ; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là 0 hoặc nhiều b (ví dụ: a, ab, abb, abbb, …);
$re = '/^ab+$/' ; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là 1 hoặc nhiều b (ví dụ: ab, abb, abbb, …);
$re = '/^ab?$/' : // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là b hoặc là không (ví dụ: ab hoặc a).


Ví dụ:
<?php
$re = '/^ab*$/';
$str = 'abbc';
if(preg_match($re, $str)) {
echo 'Yes';
}
else {
echo 'No';
}

?>
Output: No
+ Sử dụng: {}:
$re = '/^ab{2}$/'; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là 2 chũ b (là abb);
$re = '/^ab{2,}$/'; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là ít nhất 2 chũ b (ví dụ: abb, abbb, abbbb, …);
$re = '/^ab{2,5}$/'; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là ít nhất 2 chũ b và nhiều nhất là 5 chữ b (ví dụ: abb, abbb, abbbb, abbbbb);


+ Sử dụng: ()|
$re = '/^a(bc)*$/'; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là 0 hoặc nhiều 'bc' (ví dụ abc, abcbc, abcbcbcbc, …)
$re = '/^a(b|c)*$/'; // biểu thức chính quy cho một string bắt đầu bởi a, và kết thúc là 0 hoặc nhiều 'b' hoặc nhiều 'c' hoặc 'b' 'c' lẫn lộn vui (ví dụ abc, abbcccccccccc, abccccbbbcbc, …)


+ Sử dụng symbol . đại diện cho một ký tự đơn bất kỳ
$re = '/^.{3}$/'; //Biểu thức chính quy cho một chuỗi có đúng 3 ký tự bất kỳ.

<?php
$re = '/^.{3}$/';
//Biểu thức chính quy cho một chuỗi có đúng 3 ký tự bất kỳ.
$str = '&#%';
if(preg_match($re, $str)) {
echo 'Yes';
}
else {
echo 'No';
}
?>

Output: Yes
+ Sử dụng: -
[0-9] : Một chữ số
[a-zA-Z]: một ký tự A→Z, a→z
[a-d] : ~ (a|b|c|d)
[^a-zA-Z]: một ký tự không phải là A->Z, a->z
[^0-9]: một ký tự không phải là số

+ Sử dụng: \
\d - Chữ số bất kỳ ~ [0-9]
\D - Ký tự bất kỳ không phải là chữ số (ngược với \d) ~ [^0-9]
\w - Ký tự từ a-z, A-Z, hoặc 0-9 ~ [a-zA-Z0-9]
\W - Ngược lại với \w (nghĩa là các ký tự không thuộc các khoảng: a-z, A-Z, hoặc 0-9) ~[^a-zA-Z0-9]
\s - Khoảng trắng (space)
\S - Ký tự bất kỳ không phải là khoảng trắng.

3. Các hàm cơ bản vận dụng regular expression


+ preg_match PHP: preg_match - Manual *http://php.net/manual/en/function.preg-match.php

Cơ bản là để tìm kiếm 1 string có làm việc theo một $re.
Ví dụ:

<?php
$re = '/^\w+$/';
// một string toàn ký tự A->Z, a->z, 0->9
$str = 'quya*';
if(preg_match($re, $str)) {
echo 'Yes';
}
else {
echo 'No';
}
?>

Output: No

+ preg_replace: PHP: preg_replace - Manual *http://www.php.net/manual/en/function.preg-replace.php

Cơ bản là để tìm kiếm trong 1 string những chuỗi có cấu trúc theo $re để thay thế
Ví dụ:

<?php
$re = '/\w+$/';
$str = '*quya';
echo preg_replace($re, 'hi', $str);
?>

Output: *hi

+ preg_split: PHP: preg_split - Manual *http://php.net/manual/en/function.preg-split.php

Trên đây là các kiến thức đầy đủ và chi tiết về regular expressions trong PHP. Rất quan trọng trong lập trình. Các bạn hãy bookmark bài viết này để tiện cho việc tìm kiếm sau này nhé!

Nguồn: TuoiTreIT
↑↑ Lượt xem: 435
score
Đánh giá: 4.5/ 5, 435 bình chọn
- Chia sẻ:G  T
BBCode:

Link:
+ Còn “nhiều” Lắm!
+

Share code Diễn đàn trên Xtgem Full chức năng cực chất GetSmile.Mobie.In bởi Cú Đêm Việt Nam

+

Share code PHP hiển thị thông tin khách đang online trên Site

+

Sử dụng HTML và CSS tạo hiệu ứng hiển thị mô tả khi di chuột vào hình ảnh

+

Ajax là gì? Hướng dẫn code cơ bản khi xử lý dữ liệu với jQuery Ajax

+

Share full code PHP bộ tool cài đặt và quản lý Filelist KhoTruyen365 Xtgem

Trang chủ Cú Đêm Việt Nam Trang Chủ[1-1-435]

The Soda Pop