正则表达式的符号和方法

来源:互联网 发布:西门子plc最新编程软件 编辑:程序博客网 时间:2024/05/20 06:07

这几天经常遇到正则表达式的使用,写这篇博文来巩固一下!

常遇到的符号

符号 含义 // 正则表达式都写在“//”内。 ^ 每一个正则表达式都以“^”开头 $ 每一个正则表达式都以“$”结尾 * 匹配0次或多次 /^123*$/ 匹配123,1233,12333 + 匹配1次或多次 /^123+$/ 匹配1233,12333,123333 ? 匹配0次或1次 eg: /^123\?$/ 匹配123,1233 x|y 匹配x或y eg:/^z {n} 精确匹配n次 {n,m} 最少匹配n次,最多匹配m次,n<=m {n,} 最少匹配n次以上,最多不限制 [xyz] 这是一个字符集,匹配这个集合中的任一一个字符 [^xyz] 不匹配这个字符集中的任意一个字符,“[^xyz]”可以匹配“zoxoym”中的“oom” [a-z] 匹配“a”到“z”范围内的任意小写字母字符 \b 匹配单词边上的字符,eg.“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。 \B 匹配单词内部字符,eg.“er\b”可以匹配“verb”中的“er”,但不能匹配“never”中的“er”。 \d 匹配一个字数字符,/d/ = /[0-9]/ \D 匹配一个非字数字符,/D/ = /[^0-9]/ \n 匹配一个换行符 \r 匹配一个回车符 \s 匹配一个空白字符,包括n,r,f,t,v等 \S 匹配一个非空白字符,等于/[^nfrtv]/ \t 匹配一个制表符 \v 匹配一个重直制表符 \w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[w]匹配”$5.98″中的5,等于[a-zA-Z0-9_] \W 匹配一个不可以组成单词的字符,如[W]匹配”5.98'',等于[^a-zA-Z0-9] ( ) 将”(“和 “)” 之间的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域(一个正则表达式中最多可以保存9个) | 将两个匹配条件进行逻辑“或”(Or)运算。如:/^(\d)$|^(a-z)\$/ 表示匹配数字或者小写字母。注意:这个元字符不是所有的软件都支持的。

方法

方法 用法 search() ‘zoom999’.search(/^zoo$/);//此列返回的值为0 match() match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。用法: 字符串.match(正则) exec() /0101/g.exec(‘0101后花园’); //返回值为匹配到的字符串数组 test() 在字符串中查找符合正则的内容,若查找到返回true,反之返回false。 用法:正则.test(字符串) replace() 查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。用法: 字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)

举例

邮箱验证:

boolean temp = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test("email");

手机号验证:

boolean temp = /^1[3|4|5|8][0-9]\\d{8}$/.test("phoneNumber");
原创粉丝点击