Need help understanding regular expression

Discussion in 'ASP .Net' started by =?Utf-8?B?Sm9l?=, Aug 3, 2005.

  1. Hi,

    I have been using a regular expression that I don’t uite understand to
    filter the valid email address. My regular expression is as follows:

    <asp:RegularExpressionValidator id="valValidEmail"
    runat="server"
    ControlToValidate="txtEmail"

    ValidationExpression="^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
    ErrorMessage="Invalid Email address."
    Display="None">
    </asp:RegularExpressionValidator>

    Can someone explain me why the email address is
    considered an invalid email address?

    Also can someone explain me what the above regular expression means?

    Thanks,

    Joe
     
    =?Utf-8?B?Sm9l?=, Aug 3, 2005
    #1
    1. Advertising

  2. =?Utf-8?B?Sm9l?=

    Tod Birdsall Guest

    Tod Birdsall, Aug 3, 2005
    #2
    1. Advertising

  3. =?Utf-8?B?Sm9l?=

    Bruce Barker Guest

    the expression was written to be called with ignore case, but I'm not sure
    you can pass the /i modifier to client script, so the capital Z fails.

    explaining how complex regex expression works, is a bit beyond a newgroup
    question. read about them, then ask about the part(s) you don't understand.
    expect to spend several hours studying on it.

    -- bruce (sqlwork.com)


    "Joe" <> wrote in message
    news:D...
    > Hi,
    >
    > I have been using a regular expression that I don't uite understand to
    > filter the valid email address. My regular expression is as follows:
    >
    > <asp:RegularExpressionValidator id="valValidEmail"
    > runat="server"
    > ControlToValidate="txtEmail"
    >
    > ValidationExpression="^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"
    > ErrorMessage="Invalid Email address."
    > Display="None">
    > </asp:RegularExpressionValidator>
    >
    > Can someone explain me why the email address is
    > considered an invalid email address?
    >
    > Also can someone explain me what the above regular expression means?
    >
    > Thanks,
    >
    > Joe
    >
     
    Bruce Barker, Aug 3, 2005
    #3
  4. =?Utf-8?B?Sm9l?=

    Guest

    Hi Joe,

    > Can someone explain me why the email address is
    > considered an invalid email address?


    Thats easy. The regex doesn't match capital letter. The regex says that after
    the @ symbol the following may occur :
    ([a-z0-9-]+)
    With some imagination you can see what is ment by a-z. It means a or b or
    c or d ... or z But it doesn't mean any capital.
    If you change the above to
    ([a-zA-Z0-9-]+)
    The email "oe.green@Z-5com" will match now.

    But dont expect the improved regex to match every valid email now. The rules
    that make up a valid email are complex and so is a corresponding regex that
    tries to match every possible variation.
    You can try regexes you find on the net or at http://RegExLib.com and see
    if it does match your newly discovered anomaly.

    But if you don't understand regexes and only copy paste them you will now
    for sure have cases in wich the new regex doesnt match where the old regex
    did.

    The best way is to learn the essentials of regexes so you can diagones the
    problem and make a small correction to the regex isntead of pasting a completly
    new one.

    Here are some resources if you have the time and intrest :

    The short intro http://www.regular-expressions.info/
    The tool http://www.regexbuddy.com/screen.html
    The book Mastering Regular Expressions by Jeffrey Friedl (http://regex.info/

    > Also can someone explain me what the above regular expression means?


    Thats harder because a regex conveys much information in a short line. In
    general that regex says
    - only match emails that are alone one a line with no surrounding text (^
    and $ take care of this)
    - Match letters and digits and - followed by a point and than some more
    of the same
    - match the @
    - Match letters and digits and - followed by a point and than some more
    of the same
    - end with a text section thats 2 to 4 characters in lenght (.com is ok .commercial
    is not)

    If you read the intro at http://www.regular-expressions.info/ most of the
    more subtle details will become apparant I hope.

    Let me know if you have any more questions..

    Cheers,
    Tom Pester

    > Hi,
    >
    > I have been using a regular expression that I don't uite understand to
    > filter the valid email address. My regular expression is as follows:
    >
    > <asp:RegularExpressionValidator id="valValidEmail"
    > runat="server"
    > ControlToValidate="txtEmail"
    > ValidationExpression="^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a
    > -z0-9-]+)*(\.[a-z]{2,4})$"
    > ErrorMessage="Invalid Email address."
    > Display="None">
    > </asp:RegularExpressionValidator>
    > Can someone explain me why the email address is
    > considered an invalid email address?
    >
    > Also can someone explain me what the above regular expression means?
    >
    > Thanks,
    >
    > Joe
    >
     
    , Aug 3, 2005
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. VSK
    Replies:
    2
    Views:
    2,310
  2. Daniel
    Replies:
    4
    Views:
    411
    Daniel
    Jul 14, 2004
  3. =?iso-8859-1?B?bW9vcJk=?=

    Matching abitrary expression in a regular expression

    =?iso-8859-1?B?bW9vcJk=?=, Dec 1, 2005, in forum: Java
    Replies:
    8
    Views:
    851
    Alan Moore
    Dec 2, 2005
  4. GIMME
    Replies:
    3
    Views:
    11,978
    vforvikash
    Dec 29, 2008
  5. Joe
    Replies:
    2
    Views:
    203
    Tim Slattery
    Aug 3, 2005
Loading...

Share This Page