Regex #
Regular expressions (regex) di TypeScript digunakan untuk mencocokkan dan memanipulasi teks berdasarkan pola tertentu. Regex sangat kuat dan sering digunakan untuk validasi input, pencarian teks, penggantian teks, dan banyak lagi. Karena TypeScript adalah superset dari JavaScript, regex di TypeScript bekerja dengan cara yang sama seperti di JavaScript.
Dasar-Dasar Regex #
Regex terdiri dari pola karakter yang digunakan untuk pencocokan dalam string. Misalnya, untuk mencocokkan semua angka dalam string, Anda bisa menggunakan pola \d
, di mana \d
adalah metakarakter yang mewakili digit (angka).
Contoh dasar regex:
let regex = /\d+/; // Mencocokkan satu atau lebih digit
let result = regex.test("123abc");
console.log(result); // Output: true
\d+
: Mencocokkan satu atau lebih digit (angka) berturut-turut.test()
: Metode ini menguji apakah pola regex ditemukan dalam string dan mengembalikan nilai boolean (true
ataufalse
).
Membuat Regex di TypeScript #
Ada dua cara untuk membuat regex di TypeScript:
-
Menggunakan Literal Regex:
let regex = /abc/;
-
Menggunakan Constructor
RegExp
:let regex = new RegExp("abc");
Kedua cara ini setara, tetapi literal regex lebih umum digunakan karena lebih ringkas.
Metode Regex di TypeScript #
Beberapa metode umum untuk bekerja dengan regex di TypeScript adalah:
-
test()
: Menguji apakah string cocok dengan pola regex. Mengembalikantrue
ataufalse
.let regex = /hello/; console.log(regex.test("hello world")); // Output: true console.log(regex.test("world")); // Output: false
-
exec()
: Mencari kecocokan dalam string dan mengembalikan array hasil temuan, ataunull
jika tidak ada kecocokan.let regex = /(\d+)/; let result = regex.exec("Order number is 12345"); console.log(result[0]); // Output: 12345
-
match()
: Metode dari string yang digunakan untuk mencocokkan string dengan pola regex, mengembalikan array hasil kecocokan ataunull
.let str = "The price is 100 dollars"; let matches = str.match(/\d+/); console.log(matches[0]); // Output: 100
-
replace()
: Mengganti kecocokan dalam string dengan nilai baru.let str = "Hello 123"; let result = str.replace(/\d+/, "World"); console.log(result); // Output: Hello World
-
split()
: Memecah string menjadi array berdasarkan kecocokan regex sebagai delimiter.let str = "apple,banana,cherry"; let result = str.split(/,/); console.log(result); // Output: ["apple", "banana", "cherry"]
-
search()
: Mencari kecocokan regex dalam string dan mengembalikan indeks kecocokan pertama, atau-1
jika tidak ditemukan.let str = "The number is 42"; let index = str.search(/\d+/); console.log(index); // Output: 13 (indeks dari "4")
Flags dalam Regex #
Regex di TypeScript (dan JavaScript) dapat menggunakan flags untuk memodifikasi perilaku pencarian:
-
g
(global): Mencari semua kecocokan dalam string, bukan hanya kecocokan pertama.let regex = /\d+/g; let str = "123 and 456"; let result = str.match(regex); console.log(result); // Output: ["123", "456"]
-
i
(case-insensitive): Mengabaikan perbedaan huruf besar dan kecil.let regex = /hello/i; console.log(regex.test("Hello World")); // Output: true
-
m
(multiline): Mengizinkan pencocokan di awal atau akhir setiap baris.let regex = /^abc/m; let str = `abc def abc`; let result = str.match(regex); console.log(result[0]); // Output: abc (kecocokan di awal baris pertama)
Contoh Penggunaan Regex di TypeScript #
Berikut beberapa contoh penggunaan regex di TypeScript:
-
Validasi Email:
let emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; let email = "[email protected]"; console.log(emailRegex.test(email)); // Output: true
-
Pencocokan Nomor Telepon:
let phoneRegex = /^\d{3}-\d{3}-\d{4}$/; let phoneNumber = "123-456-7890"; console.log(phoneRegex.test(phoneNumber)); // Output: true
-
Ekstraksi Angka dari String:
let str = "There are 42 apples"; let regex = /\d+/; let result = str.match(regex); console.log(result[0]); // Output: 42
-
Mengganti Semua Angka dengan Teks:
let str = "Price is 100 dollars"; let result = str.replace(/\d+/g, "one hundred"); console.log(result); // Output: Price is one hundred dollars
Kesimpulan #
Regex di TypeScript adalah alat yang sangat kuat untuk memanipulasi teks dan melakukan pencarian berdasarkan pola yang kompleks. Dengan menggunakan berbagai metode seperti test
, exec
, match
, replace
, dan split
, Anda dapat melakukan berbagai operasi string yang sangat berguna. Selain itu, flags seperti g
, i
, dan m
memungkinkan Anda untuk menyesuaikan perilaku pencarian regex sesuai kebutuhan Anda.