アルゴリズム ============ 登録データ抽出アルゴリズム -------------------------- #. 入力されたテキスト内の改行と空白を削除 #. *成績記録キーワード* を「keyword」として、下記のパターンにマッチするかチェック - コメントなし - :regexp:`rf"^({keyword})([^0-9()+-]+)([0-9+-]+){{{mode}}}$"` - :regexp:`rf"^([^0-9()+-]+)([0-9+-]+){{{mode}}}({keyword})$"` - コメントあり - :regexp:`rf"^({keyword})\((.+?)\)([^0-9()+-]+)([0-9+-]+){{{mode}}}$"` - :regexp:`rf"^([^0-9()+-]+)([0-9+-]+){{{mode}}}({keyword})\((.+?)\)$"` #. パターン別に出現位置情報からそれぞれ値を取り込む 名前表記ブレ修正アルゴリズム ---------------------------- #. 検索で抽出されたメッセージからキーワード「設定キーワード({keyword})」を削除 #. すべての空白と改行を削除 #. 「 :regexp:`([^0-9+-]+)([0-9+-]+)` 」を4回繰り返したパターンにマッチさせ、名前と素点を分離 #. 登録メンバー名と名前を比較 #. 一致しない場合は以下の処理をおこない、登録メンバー名と比較 #. 敬称を削除して比較(さん、くん、ちゃんなど) #. カタカナ部分をひらがなに置換して比較 #. ひらがな部分をカタカナに置換して比較 #. 登録メンバー名と一致しない名前は「ゲスト」に置き換える - 「ゲスト」の名前は `member-section` の `guest_name` で指定する