tonamelとかGoogleフォームで使いそうな正規表現

正規表現とは?

厳密には異なるが、入力ルールをのようなものだと思ってもらえればOK。ルールに沿った入力ならOKだし、沿っていなければNGが出る。
厳密な定義が気になったらググって欲しい。

正規表現が使えると何が嬉しい?

入力のルールを自分で決めることができるので、想定していない入力を事前にはじくことができる。具体例としては、以下が挙げられる。

  • @から絶対に入力させる

  • 30文字以内で入力させる

  • こっちの想定したポケモン名で入力させる

etc…

fig.1 こんな感じのやつ

よく使うパターン

twitterID

半角@から半角英数を入力して欲しいときなどに使う。

^@.+[A-Za-z0-9]*$

DiscordID

半角#から半角英数を入力して欲しいときなどに使う。
昔は4桁の数字だったっていう話があったりするが、多分どうでもいい。

^#.+[A-Za-z0-9]*$

チーム名や個人名

10文字以内で入力して欲しいときなどに使う。

^.{0,10}$

意気込み

30文字以内で入力して欲しいときなどに使う。

^.{0,30}$

パーティ登録

ポケモンをこちらの指定した名称で入力して欲しいときに使う。
という予定だったが、結局運営に「炎ポンってどう入力すればいいですか?」って聞かれまくりそうだったのでボツ。
やってみる価値はありそう。

^(フシギダネ|フシギソウ|フシギバナ|ヒトカゲ|リザード|リザードン|ゼニガメ|カメール|カメックス|キャタピー|トランセル|バタフリー|ビードル|コクーン|スピアー|ポッポ|ピジョン|ピジョット|コラッタ|コラッタA|ラッタ|ラッタA|オニスズメ|オニドリル|アーボ|アーボック|ピカチュウ|ライチュウ|ライチュウA|サンド|サンドA|サンドパン|サンドパンA|ニドラン♀|ニドリーナ|ニドクイン|ニドラン♂|ニドリーノ|ニドキング|ピッピ|ピクシー|ロコン|ロコンA|キュウコン|キュウコンA|プリン|プクリン|ズバット|ゴルバット|ナゾノクサ|クサイハナ|ラフレシア|パラス|パラセクト|コンパン|モルフォン|ディグダ|ディグダA|ダグトリオ|ダグトリオA|ニャース|ニャースA|ニャースG|ペルシアン|ペルシアンA|コダック|ゴルダック|マンキー|オコリザル|ガーディ|ガーディH|ウインディ|ウインディH|ニョロモ|ニョロゾ|ニョロボン|ケーシィ|ユンゲラー|フーディン|ワンリキー|ゴーリキー|カイリキー|マダツボミ|ウツドン|ウツボット|メノクラゲ|ドククラゲ|イシツブテ|イシツブテA|ゴローン|ゴローンA|ゴローニャ|ゴローニャA|ポニータ|ポニータG|ギャロップ|ギャロップG|ヤドン|ヤドンG|ヤドラン|ヤドランG|コイル|レアコイル|カモネギ|カモネギG|ドードー|ドードリオ|パウワウ|ジュゴン|ベトベター|ベトベターA|ベトベトン|ベトベトンA|シェルダー|パルシェン|ゴース|ゴースト|ゲンガー|イワーク|スリープ|スリーパー|クラブ|キングラー|ビリリダマ|ビリリダマH|マルマイン|マルマインH|タマタマ|ナッシー|ナッシーA|カラカラ|ガラガラ|ガラガラA|サワムラー|エビワラー|ベロリンガ|ドガース|マタドガス|マタドガスG|サイホーン|サイドン|ラッキー|モンジャラ|ガルーラ|タッツー|シードラ|トサキント|アズマオウ|ヒトデマン|スターミー|バリヤード|バリヤードG|ストライク|ルージュラ|エレブー|ブーバー|カイロス|ケンタロスP|ケンタロスP炎|ケンタロスP水|ケンタロス|コイキング|ギャラドス|ラプラス|メタモン|イーブイ|シャワーズ|サンダース|ブースター|ポリゴン|オムナイト|オムスター|カブト|カブトプス|プテラ|カビゴン|フリーザー|フリーザーG|サンダー|サンダーG|ファイヤー|ファイヤーG|ミニリュウ|ハクリュー|カイリュー|ミュウツー|ミュウ|チコリータ|ベイリーフ|メガニウム|ヒノアラシ|マグマラシ|バクフーン|バクフーンH|ワニノコ|アリゲイツ|オーダイル|オタチ|オオタチ|ホーホー|ヨルノズク|レディバ|レディアン|イトマル|アリアドス|クロバット|チョンチー|ランターン|ピチュー|ピィ|ププリン|トゲピー|トゲチック|ネイティ|ネイティオ|メリープ|モココ|デンリュウ|キレイハナ|マリル|マリルリ|ウソッキー|ニョロトノ|ハネッコ|ポポッコ|ワタッコ|エイパム|ヒマナッツ|キマワリ|ヤンヤンマ|ウパーP|ウパー|ヌオー|エーフィ|ブラッキー|ヤミカラス|ヤドキング|ヤドキングG|ムウマ|アンノーン|ソーナンス|キリンリキ|クヌギダマ|フォレトス|ノコッチ|グライガー|ハガネール|ブルー|グランブル|ハリーセン|ハリーセンH|ハッサム|ツボツボ|ヘラクロス|ニューラ|ニューラH|ヒメグマ|リングマ|マグマッグ|マグカルゴ|ウリムー|イノムー|サニーゴ|サニーゴG|テッポウオ|オクタン|デリバード|マンタイン|エアームド|デルビル|ヘルガー|キングドラ|ゴマゾウ|ドンファン|ポリゴン2|オドシシ|ドーブル|バルキー|カポエラー|ムチュール|エレキッド|ブビィ|ミルタンク|ハピナス|ライコウ|エンテイ|スイクン|ヨーギラス|サナギラス|バンギラス|ルギア|ホウオウ|セレビィ|キモリ|ジュプトル|ジュカイン|アチャモ|ワカシャモ|バシャーモ|ミズゴロウ|ヌマクロー|ラグラージ|ポチエナ|グラエナ|ジグザグマ|ジグザグマG|マッスグマ|マッスグマG|ケムッソ|カラサリス|アゲハント|マユルド|ドクケイル|ハスボー|ハスブレロ|ルンパッパ|タネボー|コノハナ|ダーテング|スバメ|オオスバメ|キャモメ|ペリッパー|ラルトス|キルリア|サーナイト|アメタマ|アメモース|キノココ|キノガッサ|ナマケロ|ヤルキモノ|ケッキング|ツチニン|テッカニン|ヌケニン|ゴニョニョ|ドゴーム|バクオング|マクノシタ|ハリテヤマ|ルリリ|ノズパス|エネコ|エネコロロ|ヤミラミ|クチート|ココドラ|コドラ|ボスゴドラ|アサナン|チャーレム|ラクライ|ライボルト|プラスル|マイナン|バルビート|イルミーゼ|ロゼリア|ゴクリン|マルノーム|キバニア|サメハダー|ホエルコ|ホエルオー|ドンメル|バクーダ|コータス|バネブー|ブーピッグ|パッチール|ナックラー|ビブラーバ|フライゴン|サボネア|ノクタス|チルット|チルタリス|ザングース|ハブネーク|ルナトーン|ソルロック|ドジョッチ|ナマズン|ヘイガニ|シザリガー|ヤジロン|ネンドール|リリーラ|ユレイドル|アノプス|アーマルド|ヒンバス|ミロカロス|ポワルン|カクレオン|カゲボウズ|ジュペッタ|ヨマワル|サマヨール|トロピウス|チリーン|アブソル|ソーナノ|ユキワラシ|オニゴーリ|タマザラシ|トドグラー|トドゼルガ|パールル|ハンテール|サクラビス|ジーランス|ラブカス|タツベイ|コモルー|ボーマンダ|ダンバル|メタング|メタグロス|レジロック|レジアイス|レジスチル|ラティアス|ラティオス|カイオーガ|グラードン|レックウザ|ジラーチ|デオキシスN|デオキシスA|デオキシスD|デオキシスS|ナエトル|ハヤシガメ|ドダイトス|ヒコザル|モウカザル|ゴウカザル|ポッチャマ|ポッタイシ|エンペルト|ムックル|ムクバード|ムクホーク|ビッパ|ビーダル|コロボーシ|コロトック|コリンク|ルクシオ|レントラー|スボミー|ロズレイド|ズガイドス|ラムパルド|タテトプス|トリデプス|ミノムッチ|ミノマダム草|ミノマダム地|ミノマダム鋼|ガーメイル|ミツハニー|ビークイン|パチリス|ブイゼル|フローゼル|チェリンボ|チェリム|カラナクシ|トリトドン|エテボース|フワンテ|フワライド|ミミロル|ミミロップ|ムウマージ|ドンカラス|ニャルマー|ブニャット|リーシャン|スカンプー|スカタンク|ドーミラー|ドータクン|ウソハチ|マネネ|ピンプク|ペラップ|ミカルゲ|フカマル|ガバイト|ガブリアス|ゴンベ|リオル|ルカリオ|ヒポポタス|カバルドン|スコルピ|ドラピオン|グレッグル|ドクロッグ|マスキッパ|ケイコウオ|ネオラント|タマンタ|ユキカブリ|ユキノオー|マニューラ|ジバコイル|ベロベルト|ドサイドン|モジャンボ|エレキブル|ブーバーン|トゲキッス|メガヤンマ|リーフィア|グレイシア|グライオン|マンムー|ポリゴンZ|エルレイド|ダイノーズ|ヨノワール|ユキメノコ|ロトム|ロトム炎|ロトム水|ロトム氷|ロトム飛|ロトム草|ユクシー|エムリット|アグノム|ディアルガ|ディアルガO|パルキア|パルキアO|ヒードラン|レジギガス|ギラティナ|ギラティナO|クレセリア|フィオネ|マナフィ|ダークライ|シェイミ|シェイミS|アルセウス|ビクティニ|ツタージャ|ジャノビー|ジャローダ|ポカブ|チャオブー|エンブオー|ミジュマル|フタチマル|ダイケンキ|ダイケンキH|ミネズミ|ミルホッグ|ヨーテリー|ハーデリア|ムーランド|チョロネコ|レパルダス|ヤナップ|ヤナッキー|バオップ|バオッキー|ヒヤップ|ヒヤッキー|ムンナ|ムシャーナ|マメパト|ハトーボー|ケンホロウ|シママ|ゼブライカ|ダンゴロ|ガントル|ギガイアス|コロモリ|ココロモリ|モグリュー|ドリュウズ|タブンネ|ドッコラー|ドテッコツ|ローブシン|オタマロ|ガマガル|ガマゲロゲ|ナゲキ|ダゲキ|クルミル|クルマユ|ハハコモリ|フシデ|ホイーガ|ペンドラー|モンメン|エルフーン|チュリネ|ドレディア|ドレディアH|バスラオ赤|バスラオ青|バスラオ白|メグロコ|ワルビル|ワルビアル|ダルマッカ|ダルマッカG|ヒヒダルマ|ヒヒダルマG|マラカッチ|イシズマイ|イワパレス|ズルッグ|ズルズキン|シンボラー|デスマス|デスマスG|デスカーン|プロトーガ|アバゴーラ|アーケン|アーケオス|ヤブクロン|ダストダス|ゾロア|ゾロアH|ゾロアーク|ゾロアークH|チラーミィ|チラチーノ|ゴチム|ゴチミル|ゴチルゼル|ユニラン|ダブラン|ランクルス|コアルヒー|スワンナ|バニプッチ|バニリッチ|バイバニラ|シキジカ|メブキジカ|エモンガ|カブルモ|シュバルゴ|タマゲタケ|モロバレル|プルリル|ブルンゲル|ママンボウ|バチュル|デンチュラ|テッシード|ナットレイ|ギアル|ギギアル|ギギギアル|シビシラス|シビビール|シビルドン|リグレー|オーベム|ヒトモシ|ランプラー|シャンデラ|キバゴ|オノンド|オノノクス|クマシュン|ツンベアー|フリージオ|チョボマキ|アギルダー|マッギョ|マッギョG|コジョフー|コジョンド|クリムガン|ゴビット|ゴルーグ|コマタナ|キリキザン|バッフロン|ワシボン|ウォーグル|ウォーグルH|バルチャイ|バルジーナ|クイタラン|アイアント|モノズ|ジヘッド|サザンドラ|メラルバ|ウルガモス|コバルオン|テラキオン|ビリジオン|トルネロス化|トルネロス霊|ボルトロス化|ボルトロス霊|レシラム|ゼクロム|ランドロス化|ランドロス霊|キュレム|キュレム白|キュレム黒|ケルディオ|ケルディオ覚|メロエッタ|メロエッタS|ゲノセクト|ハリマロン|ハリボーグ|ブリガロン|フォッコ|テールナー|マフォクシー|ケロマツ|ゲコガシラ|ゲッコウガ|ホルビー|ホルード|ヤヤコマ|ヒノヤコマ|ファイアロー|コフキムシ|コフーライ|ビビヨン|シシコ|カエンジシ|フラベベ|フラエッテ|フラージェス|メェークル|ゴーゴート|ヤンチャム|ゴロンダ|トリミアン|ニャスパー|ニャオニクス♂|ニャオニクス♀|ヒトツキ|ニダンギル|ギルガルド|シュシュプ|フレフワン|ペロッパフ|ペロリーム|マーイーカ|カラマネロ|カメテテ|ガメノデス|クズモー|ドラミドロ|ウデッポウ|ブロスター|エリキテル|エレザード|チゴラス|ガチゴラス|アマルス|アマルルガ|ニンフィア|ルチャブル|デデンネ|メレシー|ヌメラ|ヌメイル|ヌメイルH|ヌメルゴン|ヌメルゴンH|クレッフィ|ボクレー|オーロット|バケッチャ|パンプジン|カチコール|クレベース|クレベースH|オンバット|オンバーン|ゼルネアス|イベルタル|ジガルデ50%|ジガルデ10%|ディアンシー|フーパ|ボルケニオン|モクロー|フクスロー|ジュナイパー|ジュナイパーH|ニャビー|ニャヒート|ガオガエン|アシマリ|オシャマリ|アシレーヌ|ツツケラ|ケララッパ|ドデカバシ|ヤングース|デカグース|アゴジムシ|デンヂムシ|クワガノン|マケンカニ|ケケンカニ|オドリドリ炎|オドリドリ電|オドリドリ超|オドリドリ霊|アブリー|アブリボン|イワンコ|ルガルガン昼|ルガルガン夜|ルガルガン黄昏|ヨワシ|ヒドイデ|ドヒドイデ|ドロバンコ|バンバドロ|シズクモ|オニシズクモ|カリキリ|ラランテス|ネマシュ|マシェード|ヤトウモリ|エンニュート|ヌイコグマ|キテルグマ|アマカジ|アママイコ|アマージョ|キュワワー|ヤレユータン|ナゲツケサル|コソクムシ|グソクムシャ|スナバァ|シロデスナ|ナマコブシ|タイプ:ヌル|シルヴァディ|メテノ|ネッコアラ|バクガメス|トゲデマル|ミミッキュ|ハギギシリ|ジジーロン|ダダリン|ジャラコ|ジャランゴ|ジャラランガ|カプ・コケコ|カプ・テテフ|カプ・ブルル|カプ・レヒレ|コスモッグ|コスモウム|ソルガレオ|ルナアーラ|ウツロイド|マッシブーン|フェローチェ|デンジュモク|テッカグヤ|カミツルギ|アクジキング|ネクロズマ|ネクロズマ日|ネクロズマ月|マギアナ|マーシャドー|ベベノム|アーゴヨン|ツンデツンデ|ズガドーン|ゼラオラ|メルタン|メルメタル|サルノリ|バチンキー|ゴリランダー|ヒバニー|ラビフット|エースバーン|メッソン|ジメレオン|インテレオン|ホシガリス|ヨクバリス|ココガラ|アオガラス|アーマーガア|サッチムシ|レドームシ|イオルブ|クスネ|フォクスライ|ヒメンカ|ワタシラガ|ウールー|バイウールー|カムカメ|カジリガメ|ワンパチ|パルスワン|タンドン|トロッゴン|セキタンザン|カジッチュ|アップリュー|タルップル|スナヘビ|サダイジャ|ウッウ|サシカマス|カマスジョー|エレズン|ストリンダーH|ストリンダーL|ヤクデ|マルヤクデ|タタッコ|オトスパス|ヤバチャ|ポットデス|ミブリム|テブリム|ブリムオン|ベロバー|ギモー|オーロンゲ|タチフサグマ|ニャイキング|サニゴーン|ネギガナイト|バリコオル|デスバーン|マホミル|マホイップ|タイレーツ|バチンウニ|ユキハミ|モスノウ|イシヘンジン|コオリッポ|イエッサン♂|イエッサン♀|モルペコ|ゾウドウ|ダイオウドウ|パッチラゴン|パッチルドン|ウオノラゴン|ウオチルドン|ジュラルドン|ドラメシヤ|ドロンチ|ドラパルト|ザシアン|ザマゼンタ|ムゲンダイナ|ダクマ|ウーラオス|ザルード|レジエレキ|レジドラゴ|ブリザポス|レイスポス|バドレックス|バドレックス白|バドレックス黒|アヤシシ|バサギリ|ガチグマ|イダイトウ♂|イダイトウ♀|オオニューラ|ハリーマン|ラブトロス化|ラブトロス霊|ニャオハ|ニャローテ|マスカーニャ|ホゲータ|アチゲータ|ラウドボーン|クワッス|ウェルカモ|ウェーニバル|グルトン|パフュートン♂|パフュートン♀|タマンチュラ|ワナイダー|マメバッタ|エクスレッグ|パモ|パモット|パーモット|ワッカネズミ|イッカネズミ|パピモッチ|バウッツェル|ミニーブ|オリーニョ|オリーヴァ|イキリンコ|コジオ|ジオヅム|キョジオーン|カルボウ|グレンアルマ|ソウブレイズ|ズピカ|ハラバリー|カイデン|タイカイデン|オラチフ|マフィティフ|シルシュルー|タギングル|アノクサ|アノホラグサ|ノノクラゲ|リククラゲ|ガケガニ|カプサイジ|スコヴィラン|シガロコ|ベラカス|ヒラヒナ|クエスパトラ|カヌチャン|ナカヌチャン|デカヌチャン|ウミディグダ|ウミトリオ|オトシドリ|ナミイルカ|イルカマン|ブロロン|ブロロローム|モトトカゲ|ミミズズ|キラーメ|キラフロル|ボチ|ハカドッグ|カラミンゴ|アルクジラ|ハルクジラ|ミガルーサ|ヘイラッシャ|シャリタツ|コノヨザル|ドオー|リキキリン|ノココッチ|ドドゲザン|イダイナキバ|サケブシッポ|アラブルタケ|ハバタクカミ|チヲハウハネ|スナノケガワ|テツノワダチ|テツノツツミ|テツノカイナ|テツノコウベ|テツノドクガ|テツノイバラ|セビエ|セゴール|セグレイブ|コレクレー|サーフゴー|チオンジェン|パオジアン|ディンルー|イーユイ|トドロクツキ|テツノブジン|コライドン|ミライドン|ウネルミナモ|テツノイサハ|カミッチュ|チャデス|ヤバソチャ|イイネイヌ|マシマシラ|キチキギス|オーガポン|オーガポン井戸|オーガポン竈|オーガポン礎|ウガツホムラ|タケルライコ|テツノカシラ|テツノイワオ|テラパゴス|カミツオロチ|ブリジュラス)$

上記以外の正規表現パターンが出てきたら、随時追加していこうと思います。

正規表現の実際の使い方

上のわけのわかんねえ文字列の活用方法です。
Googleフォームとtonemelで使い方が違うので、個別で説明。

Googleフォーム

fig.2 「回答の検証」を選択
fig.3 こんな風にパターンをコピペする。

tonamel

fig.4 「回答を制限」を選択
fig.5 こんな風にパターンをコピペする。

後書き

誤入力、めんどいですよね(自然な導入)
しかし、誤入力は参加者が悪いのではなく、それを許してしまうシステムにこそ問題があります。
今回は正規表現の活用を大会運営始点で書いてみました。ニッチすぎてちょっとアレな題目ですが、多分同じことを考えたうえで色々めんどくさくて自分用のメモで済ませたオタクが何人もいたはずなんだ。それでそのメモを紛失して自分にキレたりしてたはずなんだよ、きっと。知らんけど。
そんな訳でちょっとした当日仕事を減らせるステキな正規表現、あなたの大会にもいかがでしょうか。読了ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?