• 0366 997 840
  • namdong92@gmail.com

REGULAR EXPRESSION


 

  • Regular expression là biểu thức mô tả mẫu dữ liệu cần so khớp, mỗi expression bắt  bắt đầu và kết thúc bằng  một trong các ký tự   /  $  #  
  • Trong expression có thể dùng hai dấu ngoặc vuông để diễn tả lớp ký tự . Mỗi lớp ký tự sẽ so khớp với 1 ký tự thực sự
  • Trong expression có thể dùng  pL để diễn tả 1 ký tự unicode
  • Trong expression có thể dùng  s  để diễn tả 1 ký tự khoảng trắng
  • Trong expression có thể dùng  để diễn tả 1 ký tự xuống hàng

 

 

1.Tìm chuỗi con                

Tìm chuỗi con:

<pre>

<?php

$str = 'Anh thương em Anh đi đâu đâu';

$regex = '/a[a-z][a-z] /';

if (preg_match($regex, $str) ==true) echo "Tìm thấy" ; else echo "Không thấy";

echo "<br>";

$regex = '/a[a-z][a-z] /i'; //không phân biệt hoa thường

if (preg_match($regex, $str) ==true) echo "Tìm thấy" ;else echo "Không thấy";

?> <hr/>

2.Ví dụ 2: Tìm chuỗi unicode               

Tìm chuỗi con Unicode: <pre>

<?php

$str = 'Vạn lý thanh giang vạn lý thiên. Nhất thôn tang giá, nhất thôn yên. Ngư ông thuỵ trước vô nhân hoán. Quá ngọ tỉnh lai tuyết mãn thuyền. ';

$regex = '/[lv]pLs/u';  // số thì dùng N

preg_match_all($regex, $str,$b) ;  print_r($b);

?>

<hr/>Tìm  unincode<pre>

<?php  $string = 'Bóng gương thấp thoáng dưới mành

Cỏ cây cũng muốn nổi tình mây mưa

Chìm đáy nước cá lờ đờ lặn

Lửng da trời nhạn ngẩn ngơ sa

Hương trời đắm nguyệt say hoa

Tây Thi mất vía, Hằng Nga giật mình';

preg_match_all('/ngpL+s/iu', $string, $e);

print_r($e);

?><hr />

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

Tách chuỗi :

<pre>

<?php

$string = 'Mồi phú quí dữ làng xa mã.

Bả vinh hoa lừa gã công khanh.

Giấc Nam Kha khéo bất bình.

Bừng con mắt dậy thấy mình tay không.';

$a= preg_split('/ /', $string);

print_r($a);

?> <hr/>

4.Ví dụ 4: Tìm và thay thế     

Tìm và thay thế 1:

<pre>

<?php

$str= 'Hôm nay là ngày : <b>2013-4-15</b>';

$str = preg_replace('/(19|20)(d{2})-(d{1,2})-(d{1,2})/', '4/3/12', $str);

echo $str;

?> <hr/>

Tìm và thay thế 2: <pre>

<?php

$str = 'Nguyễn     Văn     Tèo';

$str = preg_replace('/ss+/', ' ', $str);

echo $str;

?> <hr/>

Tìm và thay thế 3: <pre>

<?php

$str = 'Nguyễn  @   Văn  !   Tèo ';

$str= preg_replace('/[s@!]/', ' ', $str,-1,$count);

echo $str , " , ", $count;  

?> <hr/>

 

5.Ví dụ 5: Tìm số    

Tìm số

<pre>

<?php

$subject = "Ngày sinh: 15/04/1990";

preg_match('/d+/', $subject, $m);

print_r($m);

?> <hr/>

 

6.Ví dụ 6: Tìm số và lấy ra dùng      

Tìm số và lấy ra dùng

<pre>

<?php  $subject = "Ngày sinh: 15/04/1990";

preg_match_all(/d+/, $subject, $matches,PREG_SET_ORDER);

print_r($matches); echo "<br>";

echo $matches[2][0],"-", $matches[1][0],"-",$matches[0][0]; ;

?> <hr/>

7.Ví dụ 7: Email valid     

Email Valid

<pre>

<?php

$mail1 = "abc123@lolhaha";  $mail2 = "teo@somesite.com"; 

$regex = '/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$/';

if (preg_match($regex, $mail1)) echo $mail1 . " là địa chỉ hợp lệ";

else  echo $mail1 . " là địa chỉ không hợp lệ";

echo "<br>";

if (preg_match($regex, $mail2))  echo $mail2 . " là địa chỉ hợp lệ";

else echo $mail2 . " là địa chỉ không hợp lệ";

?>

<br />

<?php

$mail3= "teonguyen.123@vbu.edu.vn";

$regex='/^[^W][a-zA-Z0-9_]+(.[a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+(.[a-zA-Z0-9_]+)*.[a-zA-Z]{2,4}$/';

if (preg_match($regex, $mail3)) echo "$mail3 là địa chỉ hợp lệ";

else echo "$mail3 là địa chỉ không hợp lệ";

?> <hr />

8.Ví dụ 8: IP valid      

IP valid<pre>

<?php  $ip = "255.255.255.255";

$regex= '/^(25[0-5]|2[0-4]d|1dd|[1-9]d|d)([.](25[0-5]|2[0-4]d|1dd|[1-9]d|d)){3}$/';

if (preg_match($regex,$ip)) echo "Địa chỉ $ip là hợp lệ";

else "Địa chỉ $ip không hợp lệ"; ?> <hr/>

9.Ví dụ 9: Phone valid     

Phone valid <pre>

<?php  $phone = "(232) 542-6794";

$regex='/^([0-9]{3}) [0-9]{3}[-. ][0-9]{4}$/';

if (preg_match($regex, $phone)) echo "Số $phone hợp lệ";

else echo "Số $phone không hợp lệ";

?> <hr/>

 

 

 


Bài Liên Quan


[PHP] Các biến PHP 5

[PHP] Các biến PHP 5

Cách tạo biế trong PHP 5, cách tạo cách dùng.

[PHP] Các hàm tương tác với Class php

[PHP] Các hàm tương tác với Class php

Các hàm tương tác với Class php

Danh Mục

Bài Viết Mới Nhất