Trong phần này chúng ta sẽ tìm hiểu về các cách thức (gọi là các assertions hay anchors) dùng để đánh dấu phạm vi hay giới hạn (boundaries). Trong phần trước có ví dụ dùng kí hiệu \b để đánh dấu kí tự bắt đầu và kết thúc của một từ (Here) và chúng ta sẽ có cái nhìn sâu hơn trong phần này.

Phần này sẽ đề cập về:

  • Phạm vi của một dòng (line) hay chuỗi (string)
  • Phạm vi một từ (word)
  • Phạm vi một chủ đề (subject)
  • Phạm vi một chuỗi trích dẫn (quote string literals)

Bắt đầu và kết thúc của một hàng hay chuỗi

Dấu ^ được dùng để so khớp với phần bắt đầu của một hàng hay chuỗi, thỉnh thoảng là toàn bộ tài liệu, tuỳ theo ngữ cảnh của ứng dụng hay các tuỳ chọn trong ứng dụng. Dấu $ được dùng để so khớp với phần kết thúc của hàng hay chuỗi.

Chúng ta thấy dòng đầu tiên trong đoạn văn bản mẫu bắt đầu bằng từ Here và kết thúc bằng từ break và dấu hai chấm

Để so khớp với dòng văn bản này (hay chuỗi), trong ô Expression của RegExr, chúng ta gõ ^Here.*break\:$ và chọn tuỳ chọn multiline (m) trong flags (global (g) có thể được chọn hay không chọn tuỳ ý), kết quả:

Chú ý dùng dấu \ trước dấu :, điều này ngụ ý rằng dấu : là một kí tự bình thường (literal) thay vì một kí tự đặc biệt. Nếu không chọn multiline (m) thì toàn bộ văn bản sẽ được xem như một chuỗi và vì vậy sẽ không còn bôi xanh dòng đầu tiên nữa.

Phạm vi của một từ

Dùng \b để so khớp với một từ, ví dụ gõ \byou\b trên ô Expression sẽ so khớp với tất cả từ you trong văn bản mẫu (nếu chọn global (g)):

Chúng ta có thể dùng \B (B hoa) để so khớp với các thành phần được xem như không phải một từ (non word) ví dụ như một kí tự, một số.

\Be\B trong ô Expression và chọn global (g), kết quả:

Phạm vi một chủ đề (subject)

Một vài kí hiệu (hay anchors) dùng để so khớp phạm vi đến một chủ đề (không phù hợp trong RegExr nhưng có thể trong ngôn ngữ Perl và PCRE (Perl Compatible Regular Expression). Để bắt đầu một chủ đề (subject) dùng \A, kết thúc với \Z (hay thỉnh thoảng \z).

Chuyển một nhóm kí tự thành các kí tự thông thường (literals)

Có thể đơn giản dùng dấu \ trước kí tự để biến kí tự đó thành một kí tự bình thường (literal), ví dụ trong ô nội dung của RegExr gõ kí tự $ (là một kí tự đặc biệt) và trên ô Expression gõ $ thì không xảy ra điều gì, nhưng nếu gõ \$ thì kí tự $ trong ô nội dung được chọn:

Dùng dấu \

Thỉnh thoảng có thể dùng kí hiệu bắt đầu là \Q và kết thúc là \E, ví dụ \Q$\E, để biến 1 kí tự thành 1 kí tự thông thường (RegExr không hỗ trợ).

Thêm các thẻ (tags) HTML

Chúng ta có thể đánh dấu văn bản bằng các thẻ HTML bằng cách sử dụng chức năng Replace trong RegExr. Thực hiện ví dụ sau để hiểu hơn:

  • Chọn tuỳ chọn multiline (m), không chọn global (g).
  • Trong ô Expression gõ nội dung ^(.*)$ dùng để chọn dòng văn bản đầu tiên.
  • Chọn mục Replace và gõ vào ô bên dưới nội dung <h1>$1</h1>.
  • Ô bên dưới sẽ xuất hiện đoạn văn bên dưới sẽ được đánh dấu bởi h1.

$1 được gọi là backreference (tham chiếu ngược) sẽ được tìm hiểu ở các phần sau.