Editor PHP Apple memperkenalkan anda teknik pemprosesan rentetan yang hebat - ungkapan biasa golang untuk memisahkan rentetan berdasarkan kata kunci. Dalam pembangunan, kita sering perlu memisahkan rentetan mengikut kata kunci tertentu untuk memproses data selanjutnya. Dengan menggunakan ungkapan biasa golang, kami boleh melaksanakan fungsi ini dengan mudah dan meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan anda secara terperinci cara menggunakan ungkapan biasa golang dan cara membelah rentetan mengikut kata kunci, membantu anda memproses rentetan dengan lebih fleksibel dalam pembangunan harian. Mari kita meneroka bersama-sama!
Ini rentetan saya, dipecah mengikut kata kunci selepas findstudentbyid
现在,我将根据 find
单词之前的 find
单词之前和 by
和 by
、id
.
Jadi corak ekspresi biasa golang ialah `(?i)(^find{1})(w+)(by{1})(w+)`
Saya cuba membahagikan kata kunci ini findstudentbyid
tetapi saya menghadapi masalah mencari keputusan tepat yang saya temui.
Output jangkaan saya ialah [通过 id 查找学生]
atau
find student by id
Tetapi saya tidak boleh melakukannya. Saya dah cuba kod golang ni
package main import ( "fmt" "regexp" ) func main() { txt := "findstudentbyid" re := regexp.MustCompile(`(?i)(^find{1})(\w+)(by{1})(\w+)`) split := re.Split(txt, -1) set := []string{} for i := range split { set = append(set, split[i]) } fmt.Println(set) }
Saya tidak fikir Regexp.Split()
adalah penyelesaian yang tepat untuk situasi anda, mengikut dokumentasi:
Saya rasa apa yang anda perlukan ialah mencari subpadanan (seperti find
、student
、by
和 id
):
Jadi anda boleh menggunakan Regexp.FindStringSubmatch()
seperti ini:
fmt.Println("result: ", re.FindStringSubmatch(txt)) result: [findstudentbyid find student by id]
Saya juga fikir anda boleh memudahkan regex, tetapi jangan lupa meletakkannya dalam kurungan untuk mengendalikan subpadanan, seperti yang ditunjukkan dalam ulasan:
re := regexp.MustCompile(`(find)(.+)(by)(.+)`)
Atas ialah kandungan terperinci Ungkapan biasa Golang membahagi rentetan berdasarkan kata kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!