次のシナリオの正規表現を作成しようとしています:
一致する文字列: mName87.com
そのため、文字列は任意の数の英数字で構成できますが、文字列内の任意の場所にドットを 1 つだけ含めることができます。
この正規表現 : を定式化しまし[a-zA-Z0-9.]
たが、複数のドット (.) にも一致します。
ここで何が間違っていますか?
指定した正規表現は、検証しようとしている文字列全体の 1 文字のみと一致します。シナリオで注意すべき点がいくつかあります
^
(文字列の先頭) で始まり (文字列の終わり) で終わる必要$
があります。[a-zA-Z0-9]+
ここで+
は 1 つ以上の文字を意味します。\.
ここでエスケープする必要があります)すべてをまとめると、正規表現は次のようになります。
^[a-zA-Z0-9]+\.[a-zA-Z0-9]+$
試してみてください:
^([a-zA-Z0-9]+\.)+[a-zA-Z]$
この正規表現を使用します^[a-zA-Z0-9]*\.[a-zA-Z0-9.]*$
編集:
試す
([a-zA-Z0-9]+\.[a-zA-Z0-9]+)|(\.[a-zA-Z0-9]+)|([a-zA-Z0-9]+\.)
つまり、[ドットで終わる単語] OR [2 つの単語と真ん中のドット] OR [ドットで始まる単語]