> For the complete documentation index, see [llms.txt](https://cdp.gitbook.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cdp.gitbook.io/guide/phan-khuc-doi-tuong/cac-khai-niem-can-biet/giai-thich-toan-tu.md).

# Giải thích toán tử

Để tạo được segment (tệp phân khúc đối tượng) đúng theo mong muốn, một việc rất quan trọng là cần hiểu rõ các toán tử (operator) hỗ trợ và cách hoạt động của nó.

## Kiểu dữ liệu <a href="#operatorsunderstandingforsegmentcreation-datatypes" id="operatorsunderstandingforsegmentcreation-datatypes"></a>

Có 6 dạng kiểu dữ liệu chính, tương ứng với mỗi kiểu dữ liệu sẽ có bộ toán tử của nó:

* **Chuỗi (String)**\
  Chuỗi là loại dữ liệu được tạo thành bởi tập hợp các ký tự đơn - còn gọi là chuỗi ký tự. Chuỗi ký tự thường được sử dụng để biểu diễn các từ và văn bản. Ký tự trong một chuỗi có thể là một ký tự trong bảng chữ cái, một chữ số, một dấu câu, một khoảng trống, v.v.
* **Mảng  (Array \<string>)**\
  Dữ liệu dạng mảng là 1 nhóm gồm nhiều chuỗi
* **Số  (Number)**\
  Dữ liệu dạng số có thể là 1 hay một dãy các chữ số. Các kiểu dữ liệu số thường được sử dụng để biểu thị số lượng, số lượng, giá cả.
* **Ngày (Date)**\
  Kiểu dữ liệu Ngày biểu thị ngày của sự kiện
* **Thời gian (Date Time)**\
  Kiểu dữ liệu Thời gian (Date Time) biểu thị cả ngày và thời gian giờ phút giây của sự kiện
* **Thời gian đặc biệt (Special Date)**\
  Dữ liệu thời gian đặc biệt, dành cho kiểu thời gian lặp lại theo năm/tháng/tuần/giờ
* **Boolean**\
  Kiểu dữ liệu boolean là một kiểu dữ liệu chỉ có một trong hai giá trị là đúng (true) và sai (false).

## Chuỗi (String) <a href="#operatorsunderstandingforsegmentcreation-string" id="operatorsunderstandingforsegmentcreation-string"></a>

| Toán tử                     | Giải thích                                                                                                                         |                                                                                                                |                                                              |                         |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | ----------------------- |
| là                          | Giá trị của data lưu trữ **bằng với** giá trị người dùng cần lọc                                                                   |                                                                                                                |                                                              |                         |
| thuộc một trong các giá trị | <p>Giá trị của data lưu trữ là <strong>thuộc 1 trong số</strong> các giá trị người dùng cần lọc, <strong>phân tách nhau bằng dấu   | </strong></p><p>VD: Attribute Location có giá trị lưu trữ là Hà Nội</p><p>→ Thuộc một trong các giá trị Hà Nội | Đà Nẵng</p><p>✅ Đúng</p><p>→ Thuộc một trong các giá trị Huế | Đà Nẵng</p><p>❌ Sai</p> |
| có chứa                     | <p>Giá trị của data lưu trữ <strong>có chứa</strong> giá trị người dùng cần lọc</p><p>\*Hỗ trợ so sánh regex (đang phát triển)</p> |                                                                                                                |                                                              |                         |
| có tồn tại giá trị          | **Có tồn tại giá trị** trong data lưu trữ                                                                                          |                                                                                                                |                                                              |                         |

## Mảng (Array \<string>) <a href="#operatorsunderstandingforsegmentcreation-array-less-than-string-greater-than" id="operatorsunderstandingforsegmentcreation-array-less-than-string-greater-than"></a>

| Toán tử               | Giải thích                                                                                                                                                                         |                                                                                                                                                 |                                     |   |                                                                |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | - | -------------------------------------------------------------- |
| chứa chuỗi giá trị là | <p>Giá trị của data lưu trữ <strong>có chứa</strong> giá trị user cần filter, hoặc <strong>có chứa tất cả</strong> các giá trị người dùng cần lọc, <strong>phân tách nhau bằng dấu | </strong></p><p>VD: Attribute Assigned Voucher có chuỗi giá trị lưu trữ là: A, B, C, D</p><p>→ Có chứa A               ✅ Đúng</p><p>→ Có chứa A | B          ✅ Đúng</p><p>→ Có chứa A | B | E     ❌ Sai</p><p>\*Hỗ trợ so sánh regex (đang phát triển)</p> |
| có tồn tại giá trị    | **Có tồn tại giá trị** trong data lưu trữ                                                                                                                                          |                                                                                                                                                 |                                     |   |                                                                |
| có                    | Có tồn tại bao nhiêu phần tử trong mảng giá trị                                                                                                                                    |                                                                                                                                                 |                                     |   |                                                                |
| có nhiều hơn          | Có tồn tại nhiều hơn bao nhiêu phần tử trong mảng giá trị                                                                                                                          |                                                                                                                                                 |                                     |   |                                                                |
| có ít hơn             | Có tồn tại ít hơn bao nhiêu phần tử trong mảng giá trị                                                                                                                             |                                                                                                                                                 |                                     |   |                                                                |

## Số (Number) <a href="#operatorsunderstandingforsegmentcreation-number" id="operatorsunderstandingforsegmentcreation-number"></a>

| Toán tử                | Giải thích                                                                   |
| ---------------------- | ---------------------------------------------------------------------------- |
| bằng (=)               | Giá trị của data lưu trữ **bằng với** giá trị người dùng cần lọc             |
| lớn hơn (>)            | Giá trị của data lưu trữ **lớn hơn** giá trị người dùng cần lọc              |
| nhỏ hơn (<)            | Giá trị của data lưu trữ **nhỏ hơn** giá trị người dùng cần lọc              |
| lớn hơn hoặc bằng (>=) | Giá trị của data lưu trữ là **bằng hoặc lớn hơn** giá trị người dùng cần lọc |
| nhỏ hơn hoặc bằng (<=) | Giá trị của data lưu trữ là **bằng hoặc nhỏ hơn** giá trị người dùng cần lọc |
| ở giữa (>= & <=)       | Giá trị của data lưu trữ nằm trong khoảng giữa 2 giá trị cần lọc.            |
| có tồn tại giá trị     | **Có tồn tại giá trị** trong data lưu trữ                                    |

<br>

## Thời gian (Date/DateTime) <a href="#operatorsunderstandingforsegmentcreation-date-datetime" id="operatorsunderstandingforsegmentcreation-date-datetime"></a>

<table><thead><tr><th width="107">Toán tử</th><th width="117">Đơn vị</th><th width="355">Giải thích</th><th>Ví dụ</th></tr></thead><tbody><tr><td><strong>Vào</strong></td><td>ngày</td><td>Giá trị (ngày) của data lưu trữ <strong>bằng với</strong> ngày người dùng cần lọc</td><td><strong>Vào</strong> (15/5/2023) <strong>ngày</strong></td></tr><tr><td><strong>Vào</strong></td><td>giờ trước<br>ngày trước<br>tuần trước<br>tháng trước</td><td><p>Giá trị của data lưu trữ <strong>là thời điểm</strong> cách hiện tại N giờ/ngày/tuần/tháng trở về trước</p><ul><li>Nếu đơn vị là ngày trước/tuần trước/tháng trước tới thì sẽ tính theo tròn ngày.</li></ul><p>VD hiện tại là 6/6/2023 10h20', lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Vào</strong> (5) ngày trước<strong>"</strong></mark> tức là ngày 1/6/2023 (0h00 - 23h59')</p><ul><li>Nếu đơn vị là giờ trước thì sẽ tính theo tròn giờ</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Vào</strong> (3) <strong>giờ trước</strong>"</mark> tức là 6/6/2023 7h00' -> 7h59'</p></td><td><strong>Vào</strong> (5) <strong>ngày trước</strong></td></tr><tr><td><strong>Vào</strong></td><td>đến nay</td><td>Giá trị (ngày) của data lưu trữ là lớn hơn (muộn hơn) hoặc bằng với ngày người dùng cần lọc.<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Vào</strong> (15/5/2023) <strong>đến nay"</strong></mark> tức là chọn khoảng thời gian từ 15/5 -> 6/6</td><td><strong>Vào</strong> (15/5/2023) <strong>đến nay</strong></td></tr><tr><td><strong>Vào</strong></td><td>trở về trước</td><td>Giá trị (ngày) của data lưu trữ là nhỏ hơn (sớm hơn) hoặc bằng với ngày người dùng cần lọc.<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Vào</strong> (15/5/2023) <strong>trở về trước"</strong></mark> tức là chọn khoảng thời gian từ 15/5 trở về quá khứ trước đó</td><td><strong>Vào</strong> (15/5/2023) <strong>trở về trước</strong></td></tr><tr><td><strong>Vào</strong></td><td>ngày kể từ hiện tại</td><td>(tương lai) Giá tr<a data-footnote-ref href="#user-content-fn-1">ị của da</a>ta lưu trữ <strong>là ngày</strong> cách hiện tại N ngày trong tương lai.<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;"><strong>"Vào</strong> (3) <strong>ngày kể từ hiện tại"</strong></mark> tức là chọn ngày sắp tới cách hiện tại 3 ngày, chính là ngày 9/6/2023</td><td><strong>"Vào</strong> (3) <strong>ngày kể từ hiện tại"</strong></td></tr><tr><td><strong>Sau</strong></td><td>ngày</td><td>Giá trị (ngày) của data lưu trữ là sau ngày người dùng cần lọc</td><td><strong>Sau</strong> (15/5/2023) <strong>ngày</strong></td></tr><tr><td><strong>Sau</strong></td><td>ngày kể từ hiện tại</td><td>(tương lai) Giá trị của data lưu trữ <strong>là ngày</strong> cách hiện tại N ngày trở về sau trong tương lai<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;"><strong>"Sau</strong> (3) <strong>ngày kể từ hiện tại"</strong></mark> tức là chọn khoảng thời gian sắp tới cách hiện tại 3 ngày trở về sau, chính là khoảng thời gian từ 9/6/2023 và sau đó</td><td><strong>Sau</strong> (3) <strong>ngày kể từ hiện tại</strong></td></tr><tr><td><strong>Trước</strong></td><td>ngày</td><td>Giá trị (ngày) của data lưu trữ là trước ngày người dùng cần lọc</td><td><strong>Trước</strong> (15/5/2023) <strong>ngày</strong></td></tr><tr><td><strong>Trước</strong></td><td>giờ trước<br>ngày trước<br>tuần trước<br>tháng trước</td><td><p>Giá trị của data lưu trữ thuộc trong khoảng thời gian tính từ thời điểm cách N giờ/ngày/tuần/tháng trở về trước</p><p></p><ul><li>Nếu đơn vị là ngày trước/tuần trước/tháng trước tới thì sẽ tính theo tròn đến cuối ngày.</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trước</strong> (5) <strong>ngày trước</strong>"</mark> tức là chọn khoảng thời gian từ  1/6/2023 23h59'59'' trở về trước (quá khứ)</p><ul><li>Nếu đơn vị là giờ trước thì sẽ tính theo ngày giờ chính xác</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trước</strong> (3) <strong>giờ trước</strong>"</mark> tức là chọn khoảng thời gian từ  6/6/2023 7h20'  trở về trước (quá khứ)</p></td><td><strong>Trước</strong> (5) <strong>ngày trước</strong></td></tr><tr><td><strong>Trong khoảng</strong></td><td>ngày</td><td>Giá trị (ngày) của data lưu trữ là nằm trong khoảng ngày chọn lọc thứ nhất và ngày chọn lọc thứ 2</td><td><strong>Trong khoảng</strong> (15/5/2023) - (17/5/2022) <strong>ngày</strong></td></tr><tr><td><strong>Trong khoảng</strong></td><td>giờ trước<br>ngày trước<br>tuần trước<br>tháng trước</td><td><p>Giá trị của data lưu trữ thuộc khoảng thời gian nằm giữa thời điểm N1 và N2 (N1 cách hiện tại N1 giờ/ngày/tuần/tháng, N2 tương ứng cách hiện tại N2 giờ/ngày/tuần/tháng)</p><ul><li>Nếu đơn vị là ngày tới/tuần tới/tháng tới thì sẽ tính theo tròn đến cuối ngày.</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong khoảng</strong> (3) - (5) <strong>ngày trước</strong>"</mark> tức là chọn khoảng thời gian từ  1/6/2023 00h00' -> 3/6/2023 23h59'59'' .</p><ul><li>Nếu đơn vị là giờ trước thì sẽ tính theo ngày giờ chính xác</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong khoảng</strong> (3) - (5) <strong>giờ trước</strong>"</mark> tức là chọn khoảng thời gian từ 6/6/2023 5h20' -> 6/6/2023 7h20'</p><p></p></td><td><strong>Trong khoảng</strong> (3) đến (5) <strong>ngày trước</strong></td></tr><tr><td><strong>Trong khoảng</strong></td><td>ngày kể từ hiện tại</td><td>Giá trị của data lưu trữ <strong>là ngày nằm trong khoảng giữa</strong> cách hiện tại N1 và N2 ngày trong tương lai<br>VD hiện tại là 6/6/2023 10h20', lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong khoảng</strong> (3) - (5) <strong>ngày kể từ hiện tại</strong>"</mark> chọn khoảng thời gian từ 9/6/2023  -> 11/6/2023</td><td><strong>Trong khoảng</strong> (3) - (5) <strong>ngày kể từ hiện tại</strong></td></tr><tr><td><strong>Trong vòng</strong></td><td>giờ trước<br>ngày trước<br>tuần trước<br>tháng trước</td><td><p>Giá trị của data lưu trữ là thuộc trong khoảng thời gian tính từ thời điểm cách hiện tại N giờ/ngày/tuần/tháng đến hiện tại</p><ul><li>Nếu đơn vị là ngày tới/tuần tới/tháng tới thì sẽ tính theo tròn đến cuối ngày.</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong vòng</strong> (3) <strong>ngày trước</strong>"</mark> tức là chọn khoảng thời gian từ  3/6/2023 00h00' -> hiện tại 6/6/2023 10h20'.</p><ul><li>Nếu đơn vị là giờ trước thì sẽ tính theo ngày giờ chính xác</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong vòng</strong> (3) <strong>giờ trước</strong>"</mark> tức là chọn khoảng thời gian từ 6/6/2023 7h20' -> 6/6/2023 7h20'</p></td><td><strong>Trong vòng</strong> (3) <strong>ngày trước</strong></td></tr><tr><td><strong>Trong tương lai</strong></td><td>giờ tới<br>ngày tới<br>tuần tới<br>tháng tới</td><td><p>Giá trị của data lưu trữ là thuộc trong khoảng thời gian tính từ thời điểm từ hiện tại đến thời điểm cách hiện tại N giờ/ngày/tuần/tháng tương lai</p><ul><li>Nếu đơn vị là ngày tới/tuần tới/tháng tới thì sẽ tính theo tròn đến cuối ngày.</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong tương lai</strong> (3) <strong>ngày tới</strong>"</mark> tức là chọn khoảng thời gian từ  6/6/2023 10h20' -> 9/6/2023 23h59'59'' .</p><ul><li>Nếu đơn vị là giờ tới thì sẽ tính theo ngày giờ chính xác</li></ul><p>VD hiện tại là 6/6/2023 10h20',  lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Trong tương lai</strong> (3) <strong>giờ tới</strong>"</mark> tức là chọn khoảng thời gian từ  6/6/2023 10h20' -> 6/6/2023 13h20'</p></td><td>"<strong>Trong tương lai</strong> (3) <strong>ngày tới</strong>"</td></tr><tr><td><strong>Có tồn tại giá trị</strong></td><td>/</td><td><strong>Có tồn tại giá trị</strong> trong data lưu trữ (không bị rỗng)</td><td><strong>Có tồn tại giá trị</strong></td></tr><tr><td><strong>Là hôm nay</strong></td><td>/</td><td>Giá trị của data lưu trữ là ngày của hiện tại</td><td><strong>Là hôm nay</strong></td></tr></tbody></table>

## Thời gian đặc biệt (Special Date) <a href="#operatorsunderstandingforsegmentcreation-boolean" id="operatorsunderstandingforsegmentcreation-boolean"></a>

Toán tử ngày đặc biệt dành cho các sự kiện lặp lại hàng tháng hoặc hàng năm, như ngày sinh nhật hàng năm hoặc ngày thanh toán hóa đơn hàng tháng

<table><thead><tr><th width="120">Toán tử</th><th width="115">Đơn vị</th><th width="320">Giải thích</th><th>Ví dụ</th></tr></thead><tbody><tr><td><strong>Hàng năm vào</strong></td><td>ngày</td><td>Giá trị (ngày tháng) của data lưu trữ <strong>bằng với</strong> ngày người dùng cần lọc</td><td><strong>hàng năm vào</strong> (4/5) <strong>ngày</strong></td></tr><tr><td><strong>Hàng năm vào</strong></td><td>ngày trước</td><td><p>Giá trị (ngày tháng) của data lưu trữ <strong>là thời điểm</strong> cách hiện tại N ngày trở về trước</p><p>Đơn vị ngày sẽ lấy tròn ngày 00:00 - 23:59:59<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm vào</strong> (3) <strong>ngày trước"</strong></mark> tức là chọn ngày 3/6 (không phân biệt năm)</p></td><td><strong>Hàng năm vào</strong> (3) <strong>ngày trước</strong></td></tr><tr><td><strong>Hàng năm vào</strong></td><td>ngày kể từ hiện tại</td><td>Giá trị (ngày tháng) của data lưu trữ <strong>là ngày</strong> cách hiện tại N ngày trong tương lai<br>Đơn vị ngày sẽ lấy tròn ngày 00:00 - 23:59:59<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm vào</strong> (3) <strong>ngày kể từ hiện tại"</strong></mark> tức là chọn ngày 9/6 (không phân biệt năm)</td><td><strong>Hàng năm vào</strong> (3) <strong>ngày kể từ hiện tại</strong></td></tr><tr><td><strong>Hàng năm trong khoảng</strong></td><td>ngày</td><td>Giá trị (ngày tháng) của data lưu trữ là nằm trong khoảng ngày chọn filter thứ nhất và ngày chọn filter thứ 2</td><td><strong>Hàng năm trong khoảng</strong> (6/6) - (7/7) <strong>ngày</strong></td></tr><tr><td><strong>Hàng năm trong khoảng</strong></td><td>ngày trước</td><td><p>Giá trị (ngày tháng) của data lưu trữ thuộc khoảng thời gian nằm giữa thời điểm cách hiện tại N1 và N2</p><p>Đơn vị ngày sẽ lấy các giá trị là ngày đó toàn bộ thời gian 00:00 - 23:59:59<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm trong khoảng</strong> (3) - (5) <strong>ngày trước"</strong></mark> tức là chọn khoảng 1/6 -> 3/6 (không phân biệt năm)</p></td><td><strong>Hàng năm trong khoảng</strong> (3) - (5) <strong>ngày trước</strong></td></tr><tr><td><strong>Hàng năm trong khoảng</strong></td><td>ngày kể từ hiện tại</td><td>Giá trị của data lưu trữ <strong>là ngày nằm trong khoảng giữa</strong> cách hiện tại N1 và N2 ngày trong tương lai<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm trong khoảng</strong> (3) - (5) <strong>ngày kể từ hiện tại"</strong></mark> tức là chọn khoảng 9/6 -> 11/6 (không phân biệt năm)</td><td><strong>Hàng năm trong khoảng</strong> (3) - (5) <strong>ngày kể từ hiện tại</strong></td></tr><tr><td><strong>Hàng năm trong vòng</strong></td><td>ngày trước</td><td>Giá trị (ngày tháng) của data lưu trữ là thuộc trong khoảng thời gian tính từ thời điểm cách hiện tại N ngày đến hiện tại<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm trong vòng</strong> (3) <strong>ngày trước"</strong></mark> tức là chọn khoảng 3/6 -> 6/6 (không phân biệt năm)</td><td><strong>Hàng năm trong vòng</strong> (3) <strong>ngày trước</strong></td></tr><tr><td><strong>Hàng năm trong tương lai</strong></td><td>ngày tới</td><td>Giá trị của data lưu trữ là thuộc trong khoảng thời gian tính từ thời điểm từ hiện tại đến thời điểm cách hiện tại N ngày tương lai<br>VD: hôm nay là 6/6/2023, lựa chọn <mark style="color:orange;background-color:yellow;">"<strong>Hàng năm trong tương lai</strong> (3) <strong>ngày tới"</strong></mark> tức là chọn khoảng 6/6 -> 9/6 (không phân biệt năm)</td><td><strong>Hàng năm trong tương lai</strong> (3) <strong>ngày tới</strong></td></tr><tr><td><strong>Có tồn tại giá trị</strong></td><td>/</td><td><strong>Có tồn tại giá trị</strong> trong data lưu trữ</td><td><strong>Có tồn tại giá trị</strong></td></tr><tr><td><strong>Hàng năm là hôm nay</strong></td><td>/</td><td>Giá trị của data lưu trữ là ngày của hiện tại</td><td><strong>Hàng năm là hôm nay</strong></td></tr></tbody></table>

## Boolean <a href="#operatorsunderstandingforsegmentcreation-boolean" id="operatorsunderstandingforsegmentcreation-boolean"></a>

| **Toán tử** | **Giải thích**                              |
| ----------- | ------------------------------------------- |
| là đúng     | Giá trị của data lưu trữ **là Đúng (True)** |
| là sai      | Giá trị của data lưu trữ **là Sai (False)** |

## Hỗ trợ **RegEx - b**iểu thức chính quy như một toán tử so sánh điều kiện  <a href="#operatorsunderstandingforsegmentcreation-regexpatternasoperatorcondition-notsupportedyet" id="operatorsunderstandingforsegmentcreation-regexpatternasoperatorcondition-notsupportedyet"></a>

<mark style="color:red;">(đang phát triển)</mark>

| Command | Description                              | Pattern | Matching string examples |
| ------- | ---------------------------------------- | ------- | ------------------------ |
| \*      | Matches 0 or more of the preceding token | ab\*    | a, ab, abb               |
| .       | Matches any character                    | c.c     | cac, cbc, cgc, cdc, cfc  |
| **?**   | Matches 0 or 1 of the preceding token    | ab?     | a, ab                    |
| **^**   | Matches the start of the string          | ^pre    | pre-order, present       |
| **$**   | Matches the end of the string            | os$     | los, lagos               |

<br>

[^1]:
