2016-09-30 9 views
-2

Pythonでは、@記号の後ろに@が付いている限り、ブール値Trueを返すものを書いたければ。シンボル、どうすればこれを書くでしょうか?Pythonの単純な電子メールの妥当性チェック

私が何か書いて試してみました:

if myString[x] == "@" > myString[x] == ".": 
    return True 

をしかし、私は彼らが両方とも本質的に同じインデックスだから、これは動作しないことを前提としています。いくつかの説明を探して、まだ多くの基本を学んでいます。 ありがとう!

+1

電子メールの検証に「@」の前後に@が表示されるかどうかを知りたいですか? – depperm

+3

'this.is.a.valid @ email.address'となり、アルゴリズムが失敗します。 – kennytm

+0

メールアドレスの確認については、http://stackoverflow.com/questions/8022530/python-check-for-valid-email-addressを参照してください。 – kennytm

答えて

1
if str.index('@') > str.index('.'): 
    return True; 
+0

文字列に '@'や '.'が含まれていないとエラーになります。 – Efferalgan

+0

さらに、' return str.index( '@')> str.index( '。') ' –

+0

@Efferalgan:質問を正しく読んだら、彼は文法について尋ねていただけです。さらに、電子メールの妥当性自体は@>と間違っています。メールを確認する正しい方法ではありません。 – FallAndLearn

1

あなたは単純な正規表現を使用できます。

import re 

rx = re.compile(r'\[email protected]\S+') 

string = """This text contains an [email protected] somewhere""" 

if rx.search(string): 
    print("Somewhere in there is an email address") 

a demo on ideone.comを参照してください。

+1

これは質問の制約を満たすものではありません(現実の制約を当然満足させるかもしれませんが)。 –

+0

@NickBastin:良い点 - 両方:) – Jan

1

return str.find('@') > str.find('.') and str.find('.') > -1

これは@.た後で、両方のシンボルが文字列内に存在していることことを確認します。しかし、これは非常に電子メールの妥当性をチェックする悪い方法です。

関連する問題