正则表达式的符号和方法

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

##常遇到的符号

符号含义
//正则表达式都写在“//”内。
^每一个正则表达式都以“^”开头
$每一个正则表达式都以“$”结尾
*匹配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 ″中的 5.98″中的 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");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值