RegexToolkit
RegexToolkit alat sederhana untuk mempermudah penggunaan regular expressions (regex) di JavaScript
Alat ini dirancang agar fleksibel dan ramah pengguna, memungkinkan pencocokan teks literal (escape otomatis) atau menggunakan regex mentah sesuai kebutuhan.
Fitur Utama
Escape Otomatis
- Semua pola default di-escape untuk mencocokkan teks literal, sehingga pengguna tidak perlu memahami karakter khusus regex.
Dukungan Regex Mentah
- Dengan opsi
useRawPattern
, pengguna dapat menggunakan pola regex mentah.
Dukungan Semua Tipe Data
- Semua tipe data akan dikonversi ke string sebelum diproses.
API Sederhana
- Mendukung operasi seperti
test
,match
,replace
,split
, danextractGroups
.
Instalasi
npm install regex-toolkit
Penggunaan
1. Import Library
ESM
import { RegexToolkit } from 'regex-toolkit'
CommonJS
const { RegexToolkit } = require('regex-toolkit')
2. Membuat Instance Baru
Buat instance baru dengan pola regex dan flag opsional.
const regex = new RegexToolkit('Halo', 'g') // Default escape
2. Menggunakan Pola Regex
Pola default di-escape untuk mencocokkan teks literal.
console.log(regex.test('Halo Halo!')) // true
console.log(regex.match('Halo Halo!')) // ['Halo', 'Halo']
3. Menggunakan Regex Mentah
Jika ingin menggunakan pola regex mentah.
regex.updatePattern('Halo\\.', 'g', true) // Gunakan pola mentah
console.log(regex.match('Halo. Halo.')) // ['Halo.', 'Halo.']
4. Ganti Teks Menggunakan Pola
Mengganti teks yang cocok dengan regex.
regex.updatePattern('Halo') // Escape otomatis
console.log(regex.replace('Halo, Apa kabar?', 'Hi')) // Hi, Apa kabar?
5. Pisahkan String
Pisahkan string berdasarkan pola regex.
regex.updatePattern(',') // Escape otomatis
console.log(regex.split('1,2,3,4')) // ['1', '2', '3', '4']
6. Ekstrak Grup dari Hasil
Ekstrak grup yang cocok dari pola regex.
regex.updatePattern('(Halo) (Dunia)', '', true) // Regex mentah
console.log(regex.extractGroups('Halo Dunia')) // ['Halo', 'Dunia']
7. Cek Detail Pola
Cek detail pola regex saat ini.
console.log(regex.getDetails())
/* Output:
{
pattern: 'Halo',
flags: 'g',
useRawPattern: false
}
*/
API
constructor
constructor((pattern = ''), (flags = ''), (useRawPattern = false))
pattern
(string): Pola regex awal. Default adalah string kosong.flags
(string): Flag regex opsional sepertig
,i
, dll.useRawPattern
(boolean): Jikatrue
, menggunakan regex mentah; jikafalse
, pola akan di-escape.
method
updatePattern(pattern, flags = '', useRawPattern = false)
Mengubah pola regex dengan opsi untuk menggunakan regex mentah.
pattern
(string): Pola regex baru.flags
(string): Flag regex baru.useRawPattern
(boolean): Gunakan regex mentah jikatrue
.
test(input)
Menguji apakah input cocok dengan pola regex.
input
(any): Teks atau data yang akan diuji.Return:
- (boolean) Hasil pengujian.
match(input)
Mencocokkan semua hasil sesuai dengan pola regex.
input
(any): Teks atau data yang akan dicocokkan.Return:
- (array|null) Array hasil pencocokan.
replace(input, replacement)
Mengganti teks yang cocok dengan pola regex.
input
(any): Teks yang akan diubah.replacement
(string): Pengganti teks.Return:
- (string) Hasil penggantian.
split(input)
Memisahkan string berdasarkan pola regex.
input
(any): Teks yang akan dipisahkan.Return:
- (array) Array hasil pemisahan.
extractGroups(input)
Mengekstrak grup dari hasil pencocokan.
input
(any): Teks yang akan diproses.Return:
- (array) Array grup yang cocok.
getDetails()
Mendapatkan detail pola regex saat ini.
Return:
- (object) Objek dengan properti:
pattern
(string): Pola regex.flags
(string): Flag regex.useRawPattern
(boolean): Apakah menggunakan regex mentah.
escape(text)
Metode statis untuk melindungi teks literal (escape karakter regex).
text
(string): Teks yang akan di-escape.Return:
- (string) Teks yang sudah di-escape.