URLPattern: hasRegExpGroups property
Baseline
2025
Newly available
Since September 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Note: This feature is available in Web Workers.
Thuộc tính chỉ đọc hasRegExpGroups của giao diện URLPattern là một giá trị boolean cho biết liệu bất kỳ thành phần nào của URLPattern có chứa nhóm bắt giữ của biểu thức chính quy hay không.
Bạn có thể dùng thuộc tính hasRegExpGroups để kiểm tra xem một đối tượng URLPattern có thể sử dụng với một số API nền tảng web không cho phép nhóm bắt giữ của biểu thức chính quy hay không. Ví dụ:
- Chỉ thị
matchtrong header HTTPUse-As-Dictionarykhông cho phép nhóm bắt giữ của biểu thức chính quy, cũng như - điều kiện
urlPatternkhi thêm các route tĩnh bằng phương thứcInstallEvent.addRoutes().
Giá trị
Một giá trị boolean.
Ví dụ
>Dùng hasRegExpGroups
Trong ví dụ sau, một đối tượng URLPattern được dùng với một dấu phân tách nhóm chứa các nhóm bắt giữ có tên là "id" và "title". Thuộc tính hasRegExpGroups trả về true trong trường hợp này.
const pattern = new URLPattern({ pathname: "/blog/:id(\\d+){-:title}?" });
console.log(pattern.hasRegExpGroups); // true
const result = pattern.exec({ pathname: "/blog/123-some-article" });
console.log(result.pathname.groups); // {id: '123', title: 'some-article'}
Nó cũng hoạt động với các nhóm bắt giữ không tên.
const pattern = new URLPattern({ pathname: "/blog/(\\d+)" });
console.log(pattern.hasRegExpGroups); // true
const result = pattern.exec({ pathname: "/blog/123" });
console.log(result.pathname.groups); // {0: '123'}
Với các nhóm không bắt giữ khác, chẳng hạn khi dùng ký tự đại diện (*), hasRegExpGroups sẽ trả về false.
const pattern = new URLPattern({ pathname: "/blog/*" });
console.log(pattern.hasRegExpGroups); // false
const result = pattern.exec({ pathname: "/blog/123" });
console.log(result.pathname.groups); // {0: '123'}
Đặc tả
| Thông số kỹ thuật |
|---|
| URL Pattern> # dom-urlpattern-hasregexpgroups> |