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|Python|Java) 匹配 "Go"、"Python" 或 "Java"。
- ([a-zA-Z]+|1[0-9]{3}) 匹配单词或 4 位邮政编码。
- (^[Ff]ro?m)|([Tt]o)$ 匹配以 "从" 或 "到" 开头或结尾的字符串。
注意事项
- | 运算符优先级高于 , 运算符。如果需要分组,请使用括号 ()。
- 如果 | 运算符后没有表达式,会引发错误。
- 正则表达式中的 | 运算符在字符串匹配之外的其他上下文中也有其他含义。请根据具体使用场景谨慎使用。
以上就是如何用 Golang 正则匹配多个单词或字符串?的详细内容,更多请关注编程网其它相关文章!