golang 正则表达式使用管道符 | 来匹配多个单词或字符串,将各个选项作为逻辑 or 表达式分隔开来。例如:匹配 "fox" 或 "dog":fox|dog匹配 "quick"、"brown" 或 "lazy":(quick|brown|lazy)匹配 "go"、"python" 或 "java":go|python|java匹配单词或 4 位邮政编码:([a-za-z]+|1[0-9]{3})匹配以 "从" 或 "到" 开头或结尾的字符串:(^[ff]ro?m)|([tt]o)$

如何用 Golang 正则匹配多个单词或字符串
Golang 的正则表达式提供了 | (管道符) 运算符,用于匹配多个单词或字符串。| 运算符将每个选项分隔开来,形成逻辑 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语言免费学习笔记(深入)”;
-
(Go|Python|Java)匹配 "Go"、"Python" 或 "Java"。 -
([a-zA-Z]+|1[0-9]{3})匹配单词或 4 位邮政编码。 -
(^[Ff]ro?m)|([Tt]o)$匹配以 "从" 或 "到" 开头或结尾的字符串。
注意事项
-
|运算符优先级高于,运算符。如果需要分组,请使用括号()。 - 如果
|运算符后没有表达式,会引发错误。 - 正则表达式中的
|运算符在字符串匹配之外的其他上下文中也有其他含义。请根据具体使用场景谨慎使用。










