Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengatasi Lookarounds dalam Go Regex?
Apabila cuba menggunakan ungkapan biasa dalam Go, ralat ditemui:
error parsing regexp: invalid or unsupported Perl syntax: (?!
Ralat ini berlaku secara khusus dengan perkara berikut regex:
regexp.MustCompile("^(?!On.*On\s.+?wrote:)(On\s(.+?)wrote:)$")
Isu ini timbul kerana Go regex tidak menyokong lookarounds, tidak seperti Perl Lookarounds ialah penegasan yang menyemak teks sekeliling tanpa menggunakannya.
Untuk mengatasi pengehadan ini, gunakan pendekatan yang berbeza:Pertama sekali, susun dua biasa berasingan ungkapan:first := regexp.MustCompile(`^On\s(.+?)wrote:$`) second := regexp.MustCompile(`^On.*On\s.+?wrote:`)Kemudian, laksanakan langkah berikut:
regex := regexp.MustCompile(`^On(.*On)?\s.+?wrote:`)Semak padanan dan kembalikan benar jika:
Atas ialah kandungan terperinci Bagaimana untuk Mengatasi Lookarounds dalam Go Regex?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!