


Tutorial Lanjutan tentang Ungkapan Biasa dalam Bahasa Go: Cara Menggunakan Tangkapan Berkumpulan
Tutorial lanjutan tentang ungkapan biasa dalam bahasa Go: Cara menggunakan tangkapan kumpulan
Ekspresi biasa memainkan peranan yang sangat penting dalam pemprosesan teks, dan dalam bahasa Go, pakej regexp disediakan dalam pustaka standard untuk memproses ungkapan biasa Pemadanan dan penggantian. Dalam tutorial sebelumnya, kami telah mempelajari sintaks ungkapan biasa asas dan cara melaksanakan operasi pemadanan dan penggantian mudah. Tutorial ini akan memperkenalkan lagi cara menggunakan tangkapan kumpulan untuk memudahkan pemprosesan hasil padanan yang lebih fleksibel.
- Gunakan kurungan untuk mengumpulkan
Dalam ungkapan biasa, anda boleh menggunakan kurungan untuk mengumpulkan sebahagian daripada corak untuk memudahkan penggunaan seterusnya. Sebagai contoh, kita boleh menggunakan tanda kurung untuk mengumpulkan tiga nombor pertama dan empat nombor terakhir, seperti yang ditunjukkan di bawah:
package main import ( "fmt" "regexp" ) func main() { pattern := `(d{3})-(d{4})` text := "我的电话号码是123-4567,你的电话号码是987-6543。" re := regexp.MustCompile(pattern) result := re.FindAllStringSubmatch(text, -1) for _, match := range result { fmt.Println("完整匹配结果:", match[0]) fmt.Println("前三个数字:", match[1]) fmt.Println("后四个数字:", match[2]) } }
Hasil keluarannya ialah:
完整匹配结果: 123-4567 前三个数字: 123 后四个数字: 4567 完整匹配结果: 987-6543 前三个数字: 987 后四个数字: 6543
Dengan menggunakan kurungan kepada kumpulan, kita boleh mendapatkan hasil yang sepadan dengan mudah Kandungan setiap kumpulan dalam.
- Named Groups
Selain menggunakan nombor untuk merujuk kepada kumpulan, anda juga boleh menggunakan nama untuk merujuk kepada kumpulan. Dengan menggunakan sintaks(?P<name>pattern)
,我们可以为某个分组指定一个名称name
. Sebagai contoh, kita boleh memberikan nama kepada kumpulan tiga nombor pertama dan empat nombor terakhir seperti berikut:
package main import ( "fmt" "regexp" ) func main() { pattern := `(?P<area>d{3})-(?P<number>d{4})` text := "我的电话号码是123-4567,你的电话号码是987-6543。" re := regexp.MustCompile(pattern) result := re.FindAllStringSubmatch(text, -1) for _, match := range result { fmt.Println("完整匹配结果:", match[0]) fmt.Println("前三个数字:", match[1]) fmt.Println("后四个数字:", match[2]) fmt.Println("区号:", match[re.SubexpIndex("area")]) fmt.Println("号码:", match[re.SubexpIndex("number")]) } }
Outputnya ialah:
完整匹配结果: 123-4567 前三个数字: 123 后四个数字: 4567 区号: 123 号码: 4567 完整匹配结果: 987-6543 前三个数字: 987 后四个数字: 6543 区号: 987 号码: 6543
Dengan menggunakan kumpulan yang dinamakan, anda boleh merujuk kumpulan bukan sahaja dengan nombor, tetapi juga dengan nombor Kumpulan rujukan mengikut nama, menjadikan kod lebih mudah dibaca dan diselenggara.
Ringkasan
Artikel ini memperkenalkan cara menggunakan ungkapan biasa untuk tangkapan kumpulan dalam bahasa Go. Dengan menggunakan tanda kurung untuk pengelompokan, kita boleh mendapatkan kandungan setiap kumpulan dengan mudah dalam hasil padanan. Pada masa yang sama, kami juga mempelajari cara menggunakan kumpulan yang dinamakan untuk merujuk kumpulan untuk menjadikan kod lebih mudah dibaca dan diselenggara. Saya harap tutorial ini akan membantu anda memahami tangkapan kumpulan ungkapan biasa.
Atas ialah kandungan terperinci Tutorial Lanjutan tentang Ungkapan Biasa dalam Bahasa Go: Cara Menggunakan Tangkapan Berkumpulan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pengesahan ungkapan biasa PHP: Pengesanan format nombor Semasa menulis program PHP, selalunya perlu untuk mengesahkan data yang dimasukkan oleh pengguna Salah satu pengesahan biasa adalah untuk memeriksa sama ada data mematuhi format nombor yang ditentukan. Dalam PHP, anda boleh menggunakan ungkapan biasa untuk mencapai pengesahan jenis ini. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan format nombor dan memberikan contoh kod khusus. Mula-mula, mari kita lihat keperluan pengesahan format nombor biasa: Integer: hanya mengandungi nombor 0-9, boleh bermula dengan tanda tambah atau tolak dan tidak mengandungi titik perpuluhan. titik terapung

Untuk mengesahkan alamat e-mel di Golang menggunakan ungkapan biasa, ikut langkah berikut: Gunakan regexp.MustCompile untuk mencipta corak ungkapan biasa yang sepadan dengan format alamat e-mel yang sah. Gunakan fungsi MatchString untuk menyemak sama ada rentetan sepadan dengan corak. Corak ini merangkumi kebanyakan format alamat e-mel yang sah, termasuk: Nama pengguna tempatan boleh mengandungi huruf, nombor dan aksara khas: !.#$%&'*+/=?^_{|}~-`Nama domain mesti mengandungi sekurang-kurangnya Satu huruf, diikuti dengan huruf, nombor atau sempang Domain peringkat teratas (TLD) tidak boleh lebih daripada 63 aksara.

Dalam Go, anda boleh menggunakan ungkapan biasa untuk memadankan cap masa: susun rentetan ungkapan biasa, seperti yang digunakan untuk memadankan cap masa ISO8601: ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . Gunakan fungsi regexp.MatchString untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa.

Sebagai bahasa pengaturcaraan moden, bahasa Go menyediakan ungkapan biasa yang berkuasa dan fungsi pemprosesan rentetan, membolehkan pembangun memproses data rentetan dengan lebih cekap. Adalah sangat penting bagi pembangun untuk menguasai ungkapan biasa dan pemprosesan rentetan dalam bahasa Go. Artikel ini akan memperkenalkan secara terperinci konsep asas dan penggunaan ungkapan biasa dalam bahasa Go dan cara menggunakan bahasa Go untuk memproses rentetan. 1. Ungkapan biasa Ungkapan biasa ialah alat yang digunakan untuk menerangkan corak rentetan Mereka boleh melaksanakan operasi dengan mudah seperti padanan rentetan, carian dan penggantian.

Ungkapan Biasa PHP: Padanan Tepat dan Pengecualian Ungkapan tetap kemasukan kabur ialah alat padanan teks yang berkuasa yang boleh membantu pengaturcara melakukan carian, penggantian dan penapisan yang cekap semasa memproses teks. Dalam PHP, ungkapan biasa juga digunakan secara meluas dalam pemprosesan rentetan dan pemadanan data. Artikel ini akan menumpukan pada cara melakukan pemadanan tepat dan mengecualikan operasi kemasukan kabur dalam PHP dan akan menggambarkannya dengan contoh kod khusus. Padanan tepat Padanan tepat bermaksud padanan hanya rentetan yang memenuhi syarat yang tepat, bukan sebarang variasi atau perkataan tambahan.

Kaedah menggunakan ungkapan biasa untuk mengesahkan kata laluan dalam Go adalah seperti berikut: Tentukan corak ungkapan biasa yang memenuhi keperluan kata laluan minimum: sekurang-kurangnya 8 aksara, termasuk huruf kecil, huruf besar, nombor dan aksara khas. Susun corak ungkapan biasa menggunakan fungsi MustCompile daripada pakej regexp. Gunakan kaedah MatchString untuk menguji sama ada rentetan input sepadan dengan corak ungkapan biasa.

Kad bebas ungkapan biasa termasuk ".", "*", "+", "?", "^", "$", "[]", "[^]", "[a-z]", "[A-Z] " ,"[0-9]","\d","\D","\w","\W","\s&quo

PHP adalah bahasa pengaturcaraan yang digunakan secara meluas, terutamanya popular dalam bidang pembangunan web. Dalam proses pembangunan web, kami sering menghadapi keperluan untuk menapis dan mengesahkan input teks oleh pengguna, antaranya penapisan aksara adalah operasi yang sangat penting. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa dalam PHP untuk melaksanakan penapisan aksara Cina dan memberikan contoh kod khusus. Pertama sekali, kita perlu menjelaskan bahawa julat Unicode aksara Cina adalah dari u4e00 hingga u9fa5, iaitu, semua aksara Cina berada dalam julat ini.
