ホームページ  >  記事  >  バックエンド開発  >  golang で正規表現を使用して、入力が合法的な映画リストであるかどうかを確認する方法

golang で正規表現を使用して、入力が合法的な映画リストであるかどうかを確認する方法

WBOY
WBOYオリジナル
2023-06-24 10:18:181064ブラウズ

golang で正規表現を使用して、入力が正当な映画リストであることを確認するのは比較的簡単な作業です。この記事では、golang を使用して入力データを正規表現と照合し、入力が動画リストの形式に準拠しているかどうかをチェックする方法を紹介します。

まず、映画リストの形式を理解する必要があります。基本的な映画リストには、映画のタイトル、監督、公開年、評価などの情報を含めることができます。ここでは、次の映画リスト形式を使用します [例]:

Titanic,James Cameron,1997,7.7
Forrest Gump,Robert Zemeckis,1994,8.8

上の例には、「タイタニック」と「フォレスト ガンプ」の 2 つの映画が含まれています。データの各行には、映画の名前、監督、年、評価がカンマで区切られて含まれています。

次に、golang の正規表現を使用して、入力が上記の形式に準拠しているかどうかを確認します。 golang では、正規表現は通常、正規表現文字列と正規表現オブジェクトで構成されます。正規表現文字列は、特殊文字と通常の文字を含む文字列で、1 つ以上の文字列の一致パターンを記述します。正規表現オブジェクトは、テキストの検索および置換操作を実行するために使用できる、コンパイルされた正規表現です。

次に、入力テキストが上記の動画リストの形式に準拠しているかどうかを確認する golang プログラムを作成します。プログラムを実装する手順は次のとおりです:

1. 正規表現を定義します

映画リストの形式に一致する正規表現を定義する必要があります。 golang では、正規表現文字列を使用して正規表現を定義できます。

var movieListRe = regexp.MustCompile(`^([a-zA-Zs]+),([a-zA-Zs]+),(d{4}),([0-9].[0-9])$`)

上記の正規表現は、4 つのグループを含む映画リストのデータの各行と一致します。

  • グループ 1 (映画名): カンマの前の文字列。 1 つ以上の文字とスペース。
  • グループ 2 (ディレクター): 1 つ以上の文字とスペースで構成される 2 つのカンマ間の文字列。
  • グループ 3 (年): 4 つの数字。
  • グループ 4 (評価): カンマの後の、数字と小数点で構成される文字列。

2. 入力データの定義

映画リストデータを含む文字列を入力データとして定義する必要があります。

data := `Titanic,James Cameron,1997,7.7
Forrest Gump,Robert Zemeckis,1994,8.8`

上記の入力データには、「タイタニック」と「フォレスト ガンプ」という 2 つの映画が含まれています。

3. 入力データの検証

正規表現オブジェクトを使用して入力データを照合します。 golang では、MatchString 関数を使用して照合できます。

isValid := movieListRe.MatchString(data)

入力データが正規表現の一致パターンに一致する場合は true を返し、そうでない場合は false を返します。

4. 結果の出力

最後に、検証結果を出力する必要があります。

if isValid {
    fmt.Println("输入数据符合电影列表格式")
} else {
    fmt.Println("输入数据不符合电影列表格式")
}

上記プログラムを実行すると、入力データが動画リスト形式に準拠している場合は「入力データは動画リスト形式に準拠しています」と出力され、そうでない場合は「入力データは動画リスト形式に準拠しています」と出力されます。動画リスト形式に準拠していません。」

完全なコード例は次のとおりです。

package main

import (
    "fmt"
    "regexp"
)

var movieListRe = regexp.MustCompile(`^([a-zA-Zs]+),([a-zA-Zs]+),(d{4}),([0-9].[0-9])$`)

func main() {
    data := `Titanic,James Cameron,1997,7.7
Forrest Gump,Robert Zemeckis,1994,8.8`

    isValid := movieListRe.MatchString(data)

    if isValid {
        fmt.Println("输入数据符合电影列表格式")
    } else {
        fmt.Println("输入数据不符合电影列表格式")
    }
}

上記のプログラムを実行すると、「入力データは動画リスト形式に準拠しています」が出力されます。これは、入力データが動画リストの形式要件に準拠しているためです。データ内の映画名や監督名を数字で書き込んだり、評価を小数点なしの数字で書き込んだりしてプログラムを再実行すると、「入力データが映画リスト形式に準拠していません」と表示されます。出力される。

概要:

golang で正規表現を使用して、入力が合法な映画リストであることを確認するのは簡単で便利なタスクです。このタスクは、正規表現の定義、入力データの定義、入力データの検証、結果の出力によって簡単に実行できます。特に、正規表現を記述する場合は、データの形式要件が満たされていることを確認するために、一致パターンを正確に記述する必要があります。

以上がgolang で正規表現を使用して、入力が合法的な映画リストであるかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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