常用邮箱正则表达式知识点解读及判读有效数字
上述字符串将会与目标对象中除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”,$_ 将包含“1981n”。正则表达式中的句点 匹配“8”和“1”, 而不匹配“n”。这里正需要这样做,因为换行符不是日期的组成部分。对于一个包含很多行的串,我们也许要提取其中的大的块,这些块可能会跨越行分隔符。 在这种情况下,我们可以使用 /s 选项,并用句点来匹配除了换行符以外的所有字符。 if (m{(.*?)}s) { print “Found bold text: $1n”; } 此处,我用了{}来表示正则表达式的起始和结束,而不用斜杠,所以,我就可以 告诉 Perl我正在匹配,起始字符为”m”,结束字符为”s”。你 可以把/s 和/m 选项组合使用: if (m{^(.*?)}sm) { # … } 总结 有两种方法打开文件:open()函数的特点是快速简捷,而sysopen()函数功能强 大而复杂。通过操作符,可以读入一个记录,$/ 变量可以让你控制记 录是什么。如果你打算把很多行的内容读入到一个串中,不要使用忘记/s和/m 这两 个正则表达式标记。 来源:脚本之家 链接:https://www.jb51.net/article/181213.htm
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
本文素材来自互联网 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |