Regex Search
Enable regular expression (regex) search for advanced pattern matching beyond simple wildcards.
[!NOTE] Regex search is supported on Laravel DB drivers: MySQL, SQLite, and Oracle.
Frontend Configuration
Enable regex in your DataTables JavaScript initialization:
$('#users-table').DataTable({ processing: true, serverSide: true, ajax: '/user-data', columns: [ { data: 'id', name: 'id' }, { data: 'name', name: 'name' }, { data: 'email', name: 'email' }, { data: 'created_at', name: 'created_at' } ], search: { regex: true }});
Case Sensitivity
By default, regex patterns are case-sensitive. Enable case-insensitive matching:
search: { regex: true, caseInsensitive: true}
Backend Configuration
No special backend configuration is required. The package automatically handles regex patterns:
// Works automatically - no changes neededRoute::get('user-data', fn () => DataTables::eloquent(User::query())->toJson());
Common Patterns
Email Addresses
Match emails from a specific domain:
.*@example\.com$
Example search: .*@example\.com$ → matches "[email protected]", "[email protected]"
Numbers in Range (1-80)
Match numbers from 1 to 80:
^([1-9]|[1-7][0-9]|80)$
| Matches | Does NOT Match |
|---|---|
| 1, 5, 42, 80 | 0, 81, 100, abc |
Starts With
Match values beginning with specific text:
^John
Example search: ^John → matches "John", "Johnny", "John Doe"
Ends With
Match values ending with specific text:
\.pdf$
Example search: \.pdf$ → matches "document.pdf", "file.pdf"
Quick Reference
| Need | Solution |
|---|---|
| Complex pattern matching | Regex with search: { regex: true } |
| Simple wildcard matching | Smart Search |
| Column-specific custom logic | Filter Column |
| Complete query control | Manual Search |
[!NOTE] Supported drivers: MySQL, SQLite, Oracle. Not available for PostgreSQL.
See Also
- Smart Search - Wildcard search
- Manual Search - Custom filtering logic
- Filter Column - Custom column filtering