美国域名-解读邮箱正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

这篇文章首要介绍了美国域名解读邮箱正则表达式:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$,需求的朋友能够参考下

验证邮箱的正则表达式

var ePattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

或许

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

\w恣意大小写英文字母 0-9数字 下划线 +为至少呈现1个以上字符

[-+.]\w+ 恣意包括 – + . 及 \w字符的组合呈现0次或屡次,首要包括例如jb51.net@vip.163.com这样的邮箱中的jb51.net

@ 固定符号

\w+ 呈现至少1次以上 \w的字符

[-.]\w+ 呈现零次或屡次这种组合的字符,

例如:jb51.net@vip.163.com 中的 vip.163

\. 固定符号 有必要包括一个这个

横竖\w+([-.]\w+)* 这种组合是规则要以 \w类型字符最初,然后后边跟上\w以及 – 中划线 .点号 的组合吧

整句的意思便是说

邮箱地址 有必要由 大小写字母 或 数字 或下划线最初,其后能够跟上恣意的 \w字符 和 中划线 加号 英文句号 @ 跟上恣意的 \w字符 和 中划线 加号 英文句号 . 跟上恣意的 \w字符 和 中划线 加号 英文句号

效果图

其实多看一些根底的就能够了。考虑要周全,想提高的同学一定要一直手写一遍,看跟别人写的有差异吗。

下面是一些弥补

简略的说,正则表达式是一种能够用于形式匹配和替换的强有力的东西。咱们能够在几乎一切的基于UNIX体系的东西中找到正则表达式的身影,例如,vi编辑器,Perl或PHP脚本言语,以及awk或sed shell程序等。此外,象JavaScript这种客户端的脚本言语也提供了对正则表达式的支撑。由此可见,正则表达式已经超出了某种言语或某个体系的局限,成为人们广为承受的概念和功用。

正则表达式能够让用户经过运用一系列的特别字符构建匹配形式,然后把匹配形式与数据文件、程序输入以及WEB页面的表单输入等方针方针进行比较,依据比较方针中是否包括匹配形式,履行相应的程序。

举例来说,正则表达式的一个最为普遍的应用便是用于验证用户在线输入的邮件地址的格局是否正确。假如经过正则表达式验证用户邮件地址的格局正确,用户所填写的表单信息将会被正常处理;反之,假如用户输入的邮件地址与正则表达的形式不匹配,将会弹出提示信息,要求用户重新输入正确的邮件地址。由此可见正则表达式在WEB应用的逻辑判断中具有无足轻重的效果。

根本语法 在对正则表达式的功用和效果有了开始的了解之后,咱们就来详细看一下正则表达式的语法格局。

正则表达式的形式一般如下:

/love/

其间坐落“/”定界符之间的部分便是即将在方针方针中进行匹配的形式。用户只要把希望查找匹配方针的形式内容放入“/”定界符之间即可。为了能够运用户更加灵敏的定制形式内容,正则表达式提供了专门的“元字符”。所谓元字符便是指那些在正则表达式中具有特别意义的专用字符,能够用来规则其前导字符(即坐落元字符前面的字符)在方针方针中的呈现形式。

较为常用的元字符包括: “+”, “*”,以及

“?”。其间,“+”元字符规则其前导字符有必要在方针方针中接连呈现一次或屡次,“*”元字符规则其前导字符有必要在方针方针中呈现零次或接连屡次,而“?”元字符规则其前导方针有必要在方针方针中接连呈现零次或一次。

下面,就让咱们来看一下正则表达式元字符的详细应用。

/fo+

由于上述正则表达式中包括“+”元字符,表明能够与方针方针中的 “fool”, “fo”, 或许 “football”等在字母f后边接连呈现一个或多个字母o的字符串相匹配。

/eg*/

由于上述正则表达式中包括“*”元字符,表明能够与方针方针中的 “easy”, “ego”, 或许 “egg”等在字母e后边接连呈现零个或多个字母g的字符串相匹配。

/Wil?/

由于上述正则表达式中包括“?”元字符,表明能够与方针方针中的 “Win”, 或许 “Wilson”,等在字母i后边接连呈现零个或一个字母l的字符串相匹配。

除了元字符之外,用户还能够准确指定形式在匹配方针中呈现的频率。例如,

/jim/

上述正则表达式规则字符m能够在匹配方针中接连呈现2-6次,因而,上述正则表达式能够同jimmy或jimmmmmy等字符串相匹配。

在对如何运用正则表达式有了开始了解之后,咱们来看一下其它几个重要的元字

符的运用方式。

\s:用于匹配单个空格符,包括tab键和换行符;

\S:用于匹配除单个空格符之外的一切字符;

\d:用于匹配从0到9的数字;

\w:用于匹配字母,数字或下划线字符;

\W:用于匹配一切与\w不匹配的字符;

. :用于匹配除换行符之外的一切字符。

(说明:咱们能够把\s和\S以及\w和\W看作互为逆运算)

下面,咱们就经过实例看一下如安在正则表达式中运用上述元字符。

/\s+

上述正则表达式能够用于匹配方针方针中的一个或多个空格字符。

/\d000/

假如咱们手中有一份杂乱的财务报表,那么咱们能够经过上述正则表达式轻而易举的查找到一切总额达千元的金钱。

除了咱们以上所介绍的元字符之外,正则表达式中还具有别的一种较为共同的专用字符,即定位符。定位符用于规则匹配形式在方针方针中的呈现位置。

较为常用的定位符包括: “^”, “$”, “\b” 以及 “\B”。其间,“^”定位符规则匹配形式有必要呈现在方针字符串的最初,“$”定位符规则匹配形式有必要呈现在方针方针的完毕,\b定位符规则匹配形式有必要呈现在方针字符串的最初或完毕的两个鸿沟之一,而“\B”定位符则规则匹配方针有必要坐落方针字符串的最初和完毕两个鸿沟之内,即匹配方针既不能作为方针字符串的最初,也不能作为方针字符串的完毕。同样,咱们也能够把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符。举例来说:

/^hell/

由于上述正则表达式中包括“^”定位符,所以能够与方针方针中以 “hell”, “hello”或 “hellhound”最初的字符串相匹配。

/ar$/

由于上述正则表达式中包括“$”定位符,所以能够与方针方针中以 “car”, “bar”或 “ar” 完毕的字符串相匹配。

/\bbom/

由于上述正则表达式形式以“\b”定位符最初,所以能够与方针方针中以 “bomb”, 或 “bom”最初的字符串相匹配。

/man\b/

由于上述正则表达式形式以“\b”定位符完毕,所以能够与方针方针中以 “human”, “woman”或 “man”完毕的字符串相匹配。

为了能够方便用户更加灵敏的设定匹配形式,正则表达式允许运用者在匹配形式中指定某一个范围而不局限于详细的字符。例如:

/[A-Z]/

上述正则表达式将会与从A到Z范围内任何一个大写字母相匹配。

/[a-z]/

上述正则表达式将会与从a到z范围内任何一个小写字母相匹配。

/[0-9]/

上述正则表达式将会与从0到9范围内任何一个数字相匹配。

/([a-z][A-Z][0-9])+

上述正则表达式将会与任何由字母和数字组成的字符串,如 “aB0” 等相匹配。这儿需求提醒用户注意的一点便是能够在正则表达式中运用 “()”

把字符串组合在一起。“()”符号包括的内容有必要同时呈现在方针方针中。因而,上述正则表达式将无法与诸如

“abc”等的字符串匹配,由于“abc”中的最终一个字符为字母而非数字。

假如咱们希望在正则表达式中实现类似编程逻辑中的“或”运算,在多个不同的形式中任选一个进行匹配的话,能够运用管道符 “|”。例如:

/to|too|2/

上述正则表达式将会与方针方针中的 “to”, “too”, 或 “2” 相匹配。

正则表达式中还有一个较为常用的运算符,即否定符 “[^]”。与咱们前文所介绍的定位符 “^” 不同,否定符

“[^]”规则方针方针中不能存在形式中所规则的字符串。例如:

/[^A-C]/

上述字符串将会与方针方针中除A,B,和C之外的任何字符相匹配。一般来说,当“^”呈现在 “[]”内时就被视做否定运算符;而当“^”坐落“[]”之外,或没有“[]”时,则应当被视做定位符。

最终,当用户需求在正则表达式的形式中参加元字符,并查找其匹配方针时,能够运用转义符“\”。例如:

/Th\*/

上述正则表达式将会与方针方针中的“Th*”而非“The”等相匹配。

运用实例

在对正则表达式有了较为全面的了解之后,咱们就来看一下如安在Perl,PHP,以及JavaScript中运用正则表达式。

通常,Perl中正则表达式的运用格局如下:

operator / regular-expression / string-to-replace / modifiers

运算符一项可所以m或s,别离代表匹配运算和替换运算。

其间,正则表达式一项是即将进行匹配或替换操作的形式,能够由恣意字符,元字符,或定位符等组成。替换字符串一项是运用s运算符时,对查找到的形式匹配方针进行替换的字符串。最终的参数项用来操控不同的匹配或替换方式。例如:

s/geed/good/

将会在方针方针中查找第一个呈现的geed字串,并将其替换为good。假如咱们希望在方针方针的大局范围内履行屡次查找—替换操作的话,能够运用参数

“g”,即s/love/lust/g。

此外,假如咱们不需求约束匹配的大小写形式的话,能够运用参数 “i ”。例如,

m/JewEL/i

上述正则表达式将会与方针方针中的jewel,Jewel,或JEWEL相匹配。

在Perl中,运用专门的运算符“=~”指定正则表达式的匹配方针。例如:

$flag =~ s/abc/ABC/

上述正则表达式将会把变量$flag中的字串abc替换为ABC。

下面,咱们就在Perl程序中参加正则表达式,验证用户邮件地址格局的有效性。

代码如下:

假如用户更偏心PHP的话,能够运用ereg()函数进行形式匹配操作。ereg()函数的运用格局如下:

ereg(pattern, string)

其间,pattern代表正则表达式的形式,而string则是履行查找替换操作的方针方针。同样是验证邮件地址,运用PHP编写的程序代码如下:

最终,咱们在来看一下JavaScript。JavaScript

1.2中带有一个功用强大的RegExp()方针,能够用来进行正则表达式的匹配操作。其间的test()办法能够检验方针方针中是否包括匹配形式,并相应的返回true或false。

咱们能够运用JavaScript编写以下脚本,验证用户输入的邮件地址的有效性。

一旦你有个包括了整个串的变量,你能够运用正则表达式,对整个文件进行操作,

而不是对文件中的某个块进行操作。有两个有用的正则表达式符号/s和/m。一般,Perl的 正则表达式对行进行处理,你能够这样写:

假如把咱们的文件填入如下内容: browngrass

bluegrass

则输出为:

found bluegrass

它没有找到“browngrass”,这是由于$ 仅在串尾寻找其匹配, (或许在串完毕 前的一行)。假如在包括很多行的串中,用”^”

和”$”来匹配,, 咱们能够运用 /m (“multiline”) 选项:

if ($line =~ /(b.*grass)$/m) {}

现在程序会把如下的信息输出:

found browngrass

类似地,句点能够匹配除了换行符之外的一切字符:

while () {

if (/19(.*)$/) {

if ($1 < 20) {

$year = 2000+$1;

} else {

$year = 1900+$1;

}

}

}

假如咱们从文件中读入“1981”,$_ 将包括“1981\n”。正则表达式中的句点 匹配“8”和“1”, 而不匹配“\n”。这儿正需求这样做,由于换行符不是日期的组成部分。对于一个包括很多行的串,咱们或许要提取其间的大的块,这些块可能会跨越行分隔符。 在这种情况下,咱们能够运用 /s 选项,并用句点来匹配除了换行符以外的一切字符。

if (m{(.*?)}s) {

print “Found bold text: $1\n”;

}

此处,我用了{}来表明正则表达式的开始和完毕,而不用斜杠,所以,我就能够 告诉 Perl我正在匹配,开始字符为”m”,完毕字符为”s”。你

能够把/s 和/m 选项组合运用:

if (m{^(.*?)}sm) {

# …

}

总结

有两种办法打开文件:open()函数的特点是快速简捷,而sysopen()函数功用强 大而杂乱。经过操作符,能够读入一个记录,$/

变量能够让你操控记 录是什么。假如你打算把很多行的内容读入到一个串中,不要运用忘掉/s和/m 这两 个正则表达式符号。

共有 0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注