GoDasturchi
Regex Find and Replace

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.

example.go
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.

Hints (0/3)

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

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

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.

example.go
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.

Hints (0/3)

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