I am new to regex , I created below regex which allows alpha numeric and 3 special characters @._ but string should not end with @ or . or *
^[a-zA-Z0-9._@]*[^_][^.][^@]$
it validates abc@ but fails for abc.
Your pattern allows at least 3 characters, where the last 3 are negated character classes matching any char other than the listed.
The pattern ^[a-zA-Z0-9._@]*[^_][^.][^@]$
will match 3 newlines , and adding all the chars to a single character class ^[a-zA-Z0-9._@]*[^@._]$
will also match a single newline only.
If you want to allow all 3 "special" characters and match at least 3 characters in total you can repeat the character class 2 or more times using {2,}
and match a single char at the end without the special characters.
^[a-zA-Z0-9._@]{2,}[a-zA-Z0-9]$
Matching as least a single char (and not end with .
_
@
)
^[a-zA-Z0-9._@]*[a-zA-Z0-9]$
Leading ^ is the start of the paragraph
Trailing $ is the end of the paragraph
. is the everything {2,} means the more than 2 letters
[^@_] means one letter Not @ or _
^.{2,}[^@_]$
if you include all the characters in the one character set, that'll work.
^[a-zA-Z0-9._@]*[^@._]$
Screenshot shows how different text examples would work (try it out on http://regexr.com )
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.