Sự thay đổi lớn nhất trong cú pháp là việc thêm các dấu phân cách .
ereg('^hello', $str);
preg_match('/^hello/', $str);
Dấu phân cách có thể là khá nhiều thứ không phải là số alpha, dấu gạch chéo ngược hoặc ký tự khoảng trắng. Được sử dụng nhiều nhất nói chung ~, /và #.
Bạn cũng có thể sử dụng dấu ngoặc phù hợp:
preg_match('[^hello]', $str);
preg_match('(^hello)', $str);
preg_match('{^hello}', $str);
// etc
Nếu dấu phân cách của bạn được tìm thấy trong biểu thức chính quy, bạn phải thoát nó:
ereg('^/hello', $str);
preg_match('/^\/hello/', $str);
Bạn có thể dễ dàng thoát tất cả các dấu phân cách và ký tự dành riêng trong một chuỗi bằng cách sử dụng preg_quote :
$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);
Ngoài ra, PCRE hỗ trợ sửa đổi cho những thứ khác nhau. Một trong những ứng dụng được sử dụng nhiều nhất là công cụ sửa đổi không phân biệt chữ hoa chữ thường i, thay thế cho eregi :
eregi('^hello', 'HELLO');
preg_match('/^hello/i', 'HELLO');
Bạn có thể tìm thấy tài liệu tham khảo đầy đủ về cú pháp PCRE trong PHP trong hướng dẫn , cũng như một danh sách các khác biệt giữa regex POSIX và PCRE để giúp chuyển đổi biểu thức.
Tuy nhiên, trong ví dụ đơn giản của bạn, bạn sẽ không sử dụng biểu thức chính quy:
stripos($str, 'hello world') === 0