>백엔드 개발 >Golang >Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까?

Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-05-31 10:32:38417검색

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}) "from" 또는 "to"로 시작하거나 끝나는 문자열과 일치합니다: (^[Ff ]ro?m)|([Tt]o)$

如何用 Golang 正则匹配多个单词或字符串?

Golang 정규식을 사용하여 여러 단어 또는 문자열을 일치시키는 방법

Golang의 정규식은 |(파이프 문자)를 제공합니다. 여러 단어나 문자열을 일치시키려면 | 연산자는 각 옵션을 논리적 OR 표현식으로 구분합니다. | (管道符) 运算符,用于匹配多个单词或字符串。| 运算符将每个选项分隔开来,形成逻辑 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)$ 匹配以 "从" 或 "到" 开头或结尾的字符串。

注意事项

  • | 运算符优先级高于 , 运算符。如果需要分组,请使用括号 ()
  • 如果 | 运算符后没有表达式,会引发错误。
  • 正则表达式中的 |
  • 일치하는 코드
rrreee🎜추가 예🎜
  • (이동 | Python|Java)는 "Go", "Python" 또는 "Java"와 일치합니다. 🎜
  • ([a-zA-Z]+|1[0-9]{3}) 단어 또는 4자리 우편번호와 일치합니다. 🎜
  • (^[Ff]ro?m)|([Tt]o)$ "from" 또는 "to"로 시작하거나 끝나는 문자열과 일치합니다. 🎜🎜🎜Notes🎜
    • | 연산자는 , 연산자보다 우선순위가 높습니다. 그룹화가 필요한 경우 대괄호 ()를 사용하세요. 🎜
    • | 연산자 뒤에 표현식이 없으면 오류가 발생합니다. 🎜
    • 정규 표현식의 | 연산자는 문자열 일치 이외의 맥락에서 다른 의미를 갖습니다. 특정 사용 시나리오에 따라 주의해서 사용하십시오. 🎜🎜

위 내용은 Golang 정규식을 사용하여 여러 단어나 문자열을 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.