Regex Find and Replace
Regex bilan topish va almashtirish
Regex faqat qidirish uchun emas — u matnni almashtirish va naqsh ichidan aniq qismlarni "ushlab olish" uchun ham ishlatiladi.
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`\d+`)
masked := re.ReplaceAllString("Karta: 4321 5678", "****")
fmt.Println(masked)
dateRe := regexp.MustCompile(`(\d{4})-(\d{2})-(\d{2})`)
match := dateRe.FindStringSubmatch("Sana: 2026-09-06")
fmt.Println(match[1], match[2], match[3])
}ReplaceAllString naqshga mos kelgan hamma joylarni berilgan matn bilan almashtiradi — masalan karta raqamini yashirish uchun juda qulay. Qavslar () — "guruh" (submatch) hosil qiladi: katta naqsh ichidan kichik qismlarni alohida "ushlab olish" imkonini beradi. FindStringSubmatchning natijasida 0-indeks — butun mos kelgan qism, 1, 2, 3-indekslar esa qavs ichidagi guruhlar (bu yerda: yil, oy, kun).
>_ Exercise
Email manzilidan foydalanuvchi nomini ajratib oling.
- •(\w+)@ naqshi bilan email'dan foydalanuvchi nomini ajrating
- •faqat foydalanuvchi nomini (guruh 1) chop eting
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
ReplaceAllString matnni naqsh bo'yicha almashtiradi, qavslar () esa naqsh ichidan aniq qismlarni ajratib olish (submatch) imkonini beradi.
NEXT UP
Text Processing Capstone
$ go run main.go
Kodingizni ishga tushiring