正则表达式
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个‘规则字符串’用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符串,我们可以达到如下的目的: 1.给定的字符串是否符合正则表达式的过滤逻辑称作匹配 2.可以通过正则表达式,从字符串中获取我们想要的特定部分 正则表达式的特点是: 1.灵活性,逻辑性和功能性非常的强 2.可以迅速地用极简单的方式达到字符串的复杂控制 一、正则表达式基本语法: 两个特殊的符号^和$,他们的作用是分别指出一个字符串的开始和结束。 ^the :表示所有以‘the’开始的字符串 cat$ :表示所有以‘cat’结尾的字符串 ^dog$ :表示开始和结尾都是‘dog’的字符串 ? *表示出现的重复次数,0次到多次 +表示出现的重复次数,1次到多次 ?表示出现的重复次数,0次到1次 ab* :表示一个字符串有一个a后面跟着0个或多个b (a,ab,abbb.....) ab+ :表示一个字符串有一个a后面跟着至少1个或多个b (ab,abbb,abbbb.....) ab? :表示一个字符串有一个a后面跟着0个或者1个b(a,ab) a?b+$ :表示在字符串的末尾有0个或一个a后面跟着一个或多个b ? 你也可以使用范围,用大括号括起来,用以表示重复次数的范围 ab{2} :表示一个字符串有一个a跟着2个b(abb) ab{2,} :表示一个字符串有一个a跟着2个或多个b(abb,abbbbb......) ab{3,5} :表示一个字符串有一个a跟着3个到5个b(abbb,abbbb,abbbbb) ? 还有一个|,表示‘或’的操作 hi|hello :表示一个字符串里有hi或hello (h|cd)ef :表示bef或cdef (a|b)*c :表示一串a或b混合的字符串后面跟着一个c ? 可以替代任何字符: a.[0-9] :表示一个字符串有一个a后面跟着一个任意字符和一个数字 ^.{3}$ :表示有任意三个字符的字符串 ? 方括号表示某些字符允许在一个字符串中的某一特定位置出现: [ab] :表示一个字符串有一个a或b,相当于a|b [a-d] :表示一个字符串包含小写的a到中的一个,相当于a|b|c|d或者[abcd] ^[a-zA-X] :表示一个以字母开头的字符串 [0-9]% :表示一个百分号前有个一位的数字 ,[a-zA-Z0-9]$ :表示一个字符串以一个逗号后面跟着一个字母或数字结束 ? 你也可以在放括号里用^表示不希望出现的字符,^应在方括号里的第一位 %[^a-zA-Z]% :表示两个百分号中间不应该出现字母 ? 为了逐字表达,你必须在^.$()|*+?{}这些字符前加上转移字符 注意:方括号中不需要转义字符 ? 二、校验数字的表达式 1.数字:^[0-9]*$ 2.n位的数字:^d{n}$ 3.至少n位的数字:^d{n,}$ 4.m-n位的数字:^d{m,n}$ 5.零或非零开头的数字:^(0|[1-9][0-9]*)$ 6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |