0

で正規表現を検証するのに行き詰まっています

http://regexone.com/example/2

私が直面している問題は、提供された電子メールアドレスで特定のユーザー名をキャプチャする必要があることです。以下は、電子メールのリストと、正規表現を使用してキャプチャされるテキストです。

Eメール

  1. tom@hogwarts.com

  2. tom.riddle@hogwarts.com

  3. tom.riddle+regexone@hogwarts.com

  4. tom@hogwarts.eu.com

  5. potter@hogwarts.com

  6. harry@hogwarts.com

  7. hermione+regexone@hogwarts.com

各メールアドレスにキャプチャするテキスト:

  1. トム

  2. tom.riddle

  3. tom.riddle

  4. トム

  5. 陶芸家

  6. ハリー

  7. ハーモイン

4

3 に答える 3

1

この単純な正規表現は、「単語の文字またはドット」の最初の途切れのないシーケンスをキャプチャします。

^[\w.]+

この正規表現の内訳は次のとおりです。

  • ^入力の開始
  • [キャラクタークラスを開く
  • \w「wordchar」はと同じです[a-zA-Z0-9_]
  • .リテラルドット(文字クラス内の場合)
  • ]キャラクタークラスを閉じる
  • +上記の式の1つ以上

(ほとんどの)文字は文字クラス内で特別な意味を失うため、ドットをエスケープする必要はありません。

リンク先のサイトでテストしましたが、これでうまくいきます:)

于 2013-03-05T07:15:42.340 に答える
0

この正規表現を使用できます:

([a-z\.]+)

これは、すべての小文字とドット文字をキャプチャすることを意味します。

注:適切な電子メール検証のためには、さらにいくつかのものが必要になりますが、これはリンクしたテストに合格します。

于 2013-03-05T07:09:06.430 に答える
0

これを試してください

([0-9a-zA-Z ._] +)+?\ S * @

+の前にある場合はすべての記号をキャプチャし、プラス記号がない場合は@記号の前にすべての記号をキャプチャします。

于 2013-03-05T07:24:13.673 に答える