Go 正規表現を使用すると、文字列処理機能が向上します。その構文は POSIX 標準に従っており、文字クラス、メタキャラクタ、数量指定子、グループ化などの機能を提供します。正規表現は、regexp.MustCompile 関数を使用して作成し、MatchString メソッドを使用して文字列を照合し、FindString メソッドを使用して一致を検索し、ReplaceAllString メソッドを使用して文字列を置換し、正規表現で括弧を使用してグループ化することができます。実際の場合、正規表現を使用して電子メール アドレスの有効性を確認できます。
Go 正規表現を使用して文字列処理機能を向上させる
正規表現は強力なツールです。素早く簡単に弦を張ることができます。 Go には、テキスト データを効率的に処理および分析できる正規表現ライブラリが組み込まれています。
正規表現構文
Go の正規表現構文は、POSIX 標準に従い、Perl 正規表現の機能の一部を借用しています。基本的な構文は次のとおりです。
[0-9]
は任意の数値に一致します。 \d
は任意の数値に一致し、.
は任意の文字に一致します。 a
は 1 つ以上の a 文字と一致します。 正規表現の作成
Go では、regexp.MustCompile
関数を使用して正規表現を作成できます:
import "regexp" var re = regexp.MustCompile(`[0-9]+`) // 匹配数字字符串
文字列の一致
MatchString
メソッドを使用して、文字列が正規表現と一致するかどうかを確認します。
re.MatchString("1234") // true
一致の検索item
FindString
メソッドは、正規表現に一致する最初の部分文字列を返します:
re.FindString("1234abc") // "1234"
Replace String
ReplaceAllString
メソッドは、すべての一致を指定された文字列に置き換えます:
re.ReplaceAllString("1234abc1234", "XYZ") // "XYZabcXYZ"
グループのキャプチャ
正規表現でのグループ化はキャプチャされ、引用符で囲まれることができます:
re = regexp.MustCompile(`(\d+)-(\d+)-(\d+)`) matches := re.FindStringSubmatch("2023-02-28") fmt.Println(matches[1]) // "2023" fmt.Println(matches[2]) // "02" fmt.Println(matches[3]) // "28"
実践的な例: 電子メール アドレスの検証##
func isValidEmail(email string) bool { re := regexp.MustCompile(`^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$`) return re.MatchString(email) }
以上がGolang 正規表現を使用して文字列処理機能を向上させるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。