regex-toolkit

0.0.3 • Public • Published

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, dan extractGroups.

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 seperti g, i, dll.
  • useRawPattern (boolean): Jika true, menggunakan regex mentah; jika false, 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 jika true.

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.

Package Sidebar

Install

npm i regex-toolkit

Weekly Downloads

12

Version

0.0.3

License

MIT

Unpacked Size

13.8 kB

Total Files

7

Last publish

Collaborators

  • salmantok