Regex untuk mencari angka dalam teks

Gunakan /-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?/g untuk menemukan semua kecocokan dalam sebuah teks. Setiap contoh di bawah sudah diuji terhadap pola ini, dan kamu bisa membukanya di Regex Tester dengan sampel yang sudah terisi.

Diperbarui

/-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?/g
Buka di Regex Tester

Teks contoh

Order 3 items at $4.50 each, save -2.5% on 1,200 units — 12345 in stock.

5 kecocokan

3 4.50 -2.5 1,200 12345

Cara kerja pola

BagianArti
-?Tanda minus opsional
\d{1,3}(?:,\d{3})+Angka dengan pemisah ribuan, seperti 1,200
|\d+Atau digit biasa
(?:\.\d+)?Bagian desimal opsional

Contoh kode

JavaScript

const matches = text.match(/-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?/g) ?? [];

Python

import re

matches = re.findall(r'-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?', text)

PHP

preg_match_all('/-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?/', $text, $m);
$matches = $m[0];

Catatan dan batasan

Hapus tanda koma sebelum mengubah kecocokan menjadi angka. Untuk angka yang ditulis 1.200,50 (format Jerman dan banyak locale lain), tukar posisi koma dan titik di dalam pola.

Pertanyaan yang sering diajukan

Apa regex untuk mencari angka dalam teks?
/-?(?:\d{1,3}(?:,\d{3})+|\d+)(?:\.\d+)?/g — pola ini menemukan semua kecocokan dalam teks. Lihat tabel di atas untuk fungsi tiap bagiannya.
Apakah bisa dipakai di Python dan PHP?
Bisa — contoh kode di atas memakai pola yang sama dengan re di Python dan fungsi preg di PHP.
Bagaimana cara menguji regex ini?
Klik “Buka di Regex Tester” — pola, flag, dan teks contoh akan termuat otomatis, dan kecocokan akan disorot saat kamu mengedit.