JavaScript中的正则表达式

RegExp对象提供了JavaScript对正则表达式的支持。先看四个表:

元字符相当于是关键字不可直接使用,要用转义字符"\"转义

元字符含义
^串的开始
$串的结束
*零到多次匹配
+一到多次匹配
?零或一次匹配
\b单词边界

 

 

 

 

 

 

 

特殊字符用于注入空格制表符等,使用时也要转义

字符含义
字符本身匹配字符本身
\r匹配回车
\n匹配换行
\t制表符
\f换页
\x#匹配十六进制
\cX匹配控制字符

 

 

 

 

 

 

 

 

范围标记

标志符含义
[...]在集合中的任一字符
[^...]不在集合中的任一字符
.除\n之外的任一字符
\w所有单字,包括数字字母下划线
\W不包含所有的单字,\w的补集
\s所有的空白字符,包括空格,制表符
\S所有的非空白字符
\d所有的数字
\D所有的非数字
\b退格字符

 

 

 

 

 

 

 

 

 

 

重复标记

标记含义
{n}重复n次
{n,}重复n或更多次
{n,m}至少重复n次,之多重复m次

 

 

 

 

 

示例一个Email的正则表达式:

 var email = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

 [\w-]+    表示集合(字母数字下划线减号)出现至少一次

 (\.[\w-]+)*   表示组(点字母数字下划线减号)整体出现零到多次

 @         表示@出现一次

 [\w-]+      同上

 (\.[\w-]+)+     表示组(点字母数字下划线减号)整体出现一到多次

下面匹配三个字符串:

 email.test("whjnsge@hotmail.com");//true
 email.test("wede.abresdz@pl.plidel.china");//true
 email.test("@ivadel.com");//false

三种情况下会用到分组:

  1.用括号把子表达式标记起来

    h(elp)?    就意味着help和h都可以表示“帮助”

  2.当正则表达式执行完后,与之匹配的文本将会按照规则填入各个分组   

var pattern =/\w{4}(\d{4})(\w{2})/;
var arr = pattern.exec("ssdf5896ges");

    结果是 arr[1]的值为5896  arr[2]的值为ge

  3.在同一个表达式中重复使用这个组的匹配规则

var pattern = /(['"])[^\1]*\1/;

    \1相当于是(['"])的别名,并可以在后面的式子中重复使用

使用正则表达式细则请参看JavaScript文档中RegExp对象。

转载于:https://www.cnblogs.com/ergou/p/6926330.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值