前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式

正则表达式

作者头像
十月梦想
发布2018-08-29 11:01:03
8990
发布2018-08-29 11:01:03
举报
文章被收录于专栏:十月梦想十月梦想十月梦想

什么是正则表达式?

正则表达式,全称“Regular Expression”,在代码中常简写为regex、regexp或RE。正则表达式,就是用某种模式去匹配一类字符串的公式


如何定义正则表达式方法?

  1. 显示定义 
a.    所谓的显示定义就是看上去就明白是一个正则表达式。显示定义必须使用new关键词定义.
 b.    var  变量名=new RegExp("这里输入正则表达式内容");   正则表达式规则引号引用

2.隐式定义

a.  所谓的隐式定义就是看上去没有明确的正则表达式定义.

b.   var 变量名=/这里写入正则表达式内容/gi

c.   隐式定义是最常用的方式,建议大家以后都使用这种方式定义正则表达式,//间包围正则的规则,/外的g确定正则的匹配规则是全局,i确定正则的部分大小写进行匹配.

显示定义  :var re=new RexExp("[0-9]");

隐式定义: var re=/[0-9]/g

上述两种是等价的匹配0-9的一个数字


正则匹配检验方法

  1. test()方式:

语法:

正则.test(目标字符串)

定义一个正则 var re=/[0-9]/g;

if(re.test('0')){
alert('合法 的数组')}

返回是一个布尔值.常用test()匹配正则是否能够进行匹配.

正则匹配校验网站:正则匹配校验 .右侧有语法参考


常用元字符

元字符

说明

\d

匹配0-9的数字,相当于[0-9]

\D

匹配非数字,相当于[^0-9]

\w

匹配字母或数字或汉字或下划线

\W

匹配不是字母或数字或汉字或下划线的字符

\s

匹配任意的空白符,如空格、换行符、制表符等

\S

匹配非空白符的字符

.

匹配除了换行符以外的任意字符

[....]

匹配空格的字符

[^...]

匹配括号内容之外的字符

举例1:

var re=/\d/;匹配任意的0-9的任意一个数字

举例2:

var re=/[0-9]/;匹配0-9的任意数字
var re=/[a-z]/;匹配a-z的任意小写字母

匹配3:

var re=/[^a-z]/;匹配a-z之外的任意字符

   常用连接符

连接符

说明

[0-9]

匹配数字,等价于\d

[a-z]

匹配英文小写字母

[A-Z]

匹配英文大写字母

[0-9A-Za-z]

匹配数字或英文字母

[0-9]匹配0,1,2,3,4,5,6,7,8,9;[a-z]匹配a-z的任意小写字母

限定符

什么是限定符?

限定符,就是限定某个或某类字符出现的次数

限定符

说明

+

重复1次或更多次

*

重复0次或更多次(任意次数)

?

重复0次或1次

{n}

重复n次

{n,m}

重复n次到m次(最少n次)

{n,}

重复n次或更多次(最少n次)

举例1:

var re=/[0-9]{3}/匹配3个0-9的数字
var re=/[0-9]+/匹配0-9最少一个多则不限

定位符

定位符

说明

^

定位开始位置字符

$

定位结束位置字符

\b

定位单词(汉字)边界的字符

\B

限定非单词(字)边界的字符

举例1:

var re=/ok\b/  匹配ok结尾的,可以匹配imok ok拉  哇ok拉 但是不匹配okk imokk  \b是匹配单词或者汉字边界

举例2:

var re=/ok\B/  匹配单词或者汉字边界不是ok的字符,不匹配imok ha 可以匹配ABCoka  和用法相反,不匹配

^说明:^出现在开始是标准匹配的开始;出现在[^...]的^表示不匹配方括号内的字符起否定作用.

举例3:

var re=/^[A]/  表示匹配开头的一个字符是大写A
var re=/[^A]/  表示匹配不是A的字符

转义字符

正则表达中出现两种字符:①普通字符;②特殊字符如(^,${})等

当我们需要匹配这些特殊字符就需要用到转义,

举例:(当我们需要匹配$abc这个字符串)

var re=/\$abc/ 在需要转义的字符前加斜线(\),匹配双反斜线 \\

需要转移的特殊字符:$、(、)、*、+、.、[、]、?、、/、^、{、}、|

分组符

正则表达式中使用()进行分组.

举例:

①/(abc){2}/
②/[abc]{2}/
③/(a[h-n]){2}/

解释:①(abc)为一组表示匹配abcabc

        ②表示a,b,c其中任意的一个字符匹配两次

        ③表示ah-an为一组,且这个组重复2次

选择符

什么是选择符?

        选择符,很简单。在正则表达式中,选择符是“|”,用于选择匹配2个选项之中的任意一个,类似JavaScript中的“或”运算.

举例:

var re=/[a|b|c|d]/表示匹配a,b,c,d的任意一个字符

正则注释

什么是正则注释?

        注释在之前很熟悉了,正则注释也一样帮助我们更好的去理解正则添加的标注内容

(?#这里是注释部分)

说明:如果要在正则表达式中包含注释,则最好打开“忽略模式里的空白符”选项。因此,此时可以在注释中添加空格、换行符号、制表符号等。一旦启用了该选项,即符号#之后的内容会全部被忽略掉。

正则表达式优先级

什么是优先级?

        在之前学习的php,JavaScript,c等语言的运算符部分出现了运算符的优先级定义了运算符的运算顺序,这里正则也有专属 的优先级.

运算符或表达式

说明

\

转义字符

()、(?:)、(?=)、[]

圆括号或方括号

*、+、?、{n}、{n,}、{n,m}

限定符,定义规则的量

^、$、、B

定界符,位置边界

|

选择符,或计算

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-1-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是正则表达式?
  • 如何定义正则表达式方法?
    • a.    所谓的显示定义就是看上去就明白是一个正则表达式。显示定义必须使用new关键词定义.
      •  b.    var  变量名=new RegExp("这里输入正则表达式内容");   正则表达式规则引号引用
        • a.  所谓的隐式定义就是看上去没有明确的正则表达式定义.
        • 正则匹配检验方法
        • 常用元字符
        •    常用连接符
        • 限定符
        • 定位符
        • 转义字符
        • 分组符
        • 选择符
          • 什么是选择符?
          • 正则注释
            • 什么是正则注释?
            • 正则表达式优先级
              • 什么是优先级?
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档