Ungkapan biasa Golang menggunakan aksara paip | untuk memadankan berbilang perkataan atau rentetan, memisahkan setiap pilihan sebagai ungkapan ATAU logik. Contohnya: padanan "musang" atau "anjing": musang|padanan anjing "cepat", "coklat" atau "malas": (cepat|coklat|malas) sepadan dengan "Pergi", "Python" atau "Java": Pergi| Python |Java memadankan perkataan atau kod pos 4 digit: ([a-zA-Z]+|1[0-9]{3}) Memadankan rentetan yang bermula atau berakhir dengan "dari" atau "kepada": (^[Ff ]ro?m)|([Tt]o)$
Ungkapan biasa Golang menyediakan |
mengasingkan setiap pilihan menjadi ungkapan OR logik. |
(管道符) 运算符,用于匹配多个单词或字符串。|
运算符将每个选项分隔开来,形成逻辑 OR 表达式。
匹配代码
import ( "fmt" "regexp" ) func main() { text := "The quick brown fox jumped over the lazy dog." // 匹配 "fox" 或 "dog" matched, err := regexp.MatchString("fox|dog", text) if err != nil { fmt.Println(err) return } // 输出:true // 匹配 "quick"、"brown" 或 "lazy" matched, err = regexp.MatchString("(quick|brown|lazy)", text) if err != nil { fmt.Println(err) return } // 输出:true }
更多示例
(Go|Python|Java)
匹配 "Go"、"Python" 或 "Java"。([a-zA-Z]+|1[0-9]{3})
匹配单词或 4 位邮政编码。(^[Ff]ro?m)|([Tt]o)$
匹配以 "从" 或 "到" 开头或结尾的字符串。注意事项
|
运算符优先级高于 ,
运算符。如果需要分组,请使用括号 ()
。|
运算符后没有表达式,会引发错误。|
([a-zA-Z]+|1[0-9]{3})
Padan dengan perkataan atau poskod 4 digit. 🎜(^[Ff]ro?m)|([Tt]o)$
Memadankan rentetan yang bermula atau berakhir dengan "dari" atau "ke". 🎜🎜🎜|
operator mempunyai keutamaan yang lebih tinggi daripada operator ,
. Jika pengumpulan diperlukan, gunakan kurungan ()
. 🎜|
, ralat akan ditimbulkan. 🎜|
dalam ungkapan biasa mempunyai makna lain dalam konteks selain padanan rentetan. Sila gunakannya dengan berhati-hati mengikut senario penggunaan tertentu. 🎜🎜Atas ialah kandungan terperinci Bagaimana untuk memadankan berbilang perkataan atau rentetan menggunakan ungkapan biasa Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!