私は正規表現
ドメイン名(例:。@ google.com、@ xyz.co.uk、@ xyz.eduなど)のcsvファイルを検証しようとしている私には、次を使用しています正規表現:
Regex(@"@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4}$", RegexOptions.Compiled);
上記の改善の余地はありますか?
私は正規表現
ドメイン名(例:。@ google.com、@ xyz.co.uk、@ xyz.eduなど)のcsvファイルを検証しようとしている私には、次を使用しています正規表現:
Regex(@"@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,4}$", RegexOptions.Compiled);
上記の改善の余地はありますか?
専用sitesに慣れてください。
一定のメンテナンスを必要としないソリューションを選択してください。あなた自身の正規表現は、あなたが完全な攻撃を期待していないいくつかのアプリケーションにはかなりよく見えます。
@lnaがコメントにリンクしている回答も参照してください。
OK。しかし、上記の私の正規表現では... [email protected]をTrueとして返すことができます...間違っています... – GoldenUser
これはアンカーされていないためです。入力文字列全体が部分文字列だけでなく、一致するようにするには、最初に '^'を、最後に '$'を追加します。 –
http://stackoverflow.com/questions/399932/can-i-improve-this-regex-check-for-valid-domain-names – Ina
これはまともな防衛線ですが、愚かな*意図的に*。リンクされた質問の受け入れられた答えを見てください、それははるかに良いアプローチです。 – dasblinkenlight
私は[電子メールの検証](http://www.regular-expressions.info/email.html)を1回試してみました。ご覧のとおり、多くの異なる正規表現があります(特に '@'記号の後に)あなたは使うことができます。 –