ホームページ  >  記事  >  バックエンド開発  >  Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか?

Golang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-05-31 10:32:38411ブラウズ

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🎜その他の例🎜
  • (Go | Python|Java) は、「Go」、「Python」、または「Java」に一致します。 🎜
  • ([a-zA-Z]+|1[0-9]{3}) 単語または 4 桁の郵便番号と一致します。 🎜
  • (^[Ff]ro?m)|([Tt]o)$ 「from」または「to」で始まるまたは終わる文字列と一致します。 🎜🎜🎜Notes🎜
    • | 演算子は , 演算子よりも優先されます。グループ化が必要な場合は、括弧 () を使用します。 🎜
    • | 演算子の後に式がない場合、エラーが発生します。 🎜
    • 正規表現の | 演算子は、コンテキストでは文字列の一致以外の意味を持ちます。特定の使用シナリオに応じて注意して使用してください。 🎜🎜

以上がGolang 正規表現を使用して複数の単語または文字列を照合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。