js正则表达式学习(一)

正则表达式

特殊字符


+

释义: abc+d 加号代表了前面的字符至少出现一次 (n>0 && n = int)

案例: abcd abccd ancccd abccccccccccccd

*

释义:abc*d 代表了星号前面的字符可出现0次(即不出现),也可以出现n次 (n>=0)

案例:abcd abcccd abd abccd

?

释义: abc?de 代表了?左边的字符只能出现或不出现 (n=0 || n=1)

案例: abcde abde

.

释义: 匹配除开换行字符的\n的任意单字符

()

释义: (*) 圆括号形式代表了把其包裹成一个表达式,可以提供给后续的$符号进行使用

[

释义: [ 方括号的起始括号代表了匹配一个方括号的开始字符即[

同理 { 也同次一样

^

释义: 匹配输入字符串的开始位置,当该符号出现在方括号表达式中时,表示不接受该方括号表达式中的字符合集。若要匹配自身切记加转义符\

限定符


*

+

?

{n}

释义: n为一个非负整数,匹配其前面字符的n次

案例: o{2}此表达式可以匹配 food中的oo 但是匹配不了 Bob里面那一个o

{n,}

释义:n为一个非负整数,至少匹配n次

案例: o{2} 不能匹配 Bob 能匹配 Boob Booob (均是匹配o)

{n,m}

释义: n,m均为非负整数,相当于一个闭区间,至少匹配n次,最多匹配m次

案例: o{1,3} 将匹配Fooooood中的前三个o,将匹配food中的 所有o,匹配fod中的所有o

单字符簇


以下字符簇需注意它始终只匹配<span style="font-size: bold; color: orange">一个字符</span>

[a-z]       //匹配所有的小写字母 
[A-Z]       //匹配所有的大写字母 
[a-zA-Z]    //匹配所有的字母 
[0-9]       //匹配所有的数字 
[0-9\.\-]   //匹配所有的数字,句号和减号 
[ \f\r\t\n] //匹配所有的白字符

以下字符簇代表了非括号里面的元素

[^a-z]          //除了小写字母以外的所有字符 
^[^0-9][0-9]$    //开头第一个字符不为数字
[^\\]            //除了(\)之外的所有字符 
[^\""]/         //除了双引号(")之外的所有字符   左边双引号应为一个

多字符簇


字符簇 描述
^[a-zA-Z_]$ 所有的字母和下划线
^[[:alpha:]]{3}$ 所有的3个字母的单词
^a$ 字母a
^a{4}$ aaaa
^a{2,4}$ aa,aaa或aaaa
^a{1,3}$ a,aa或aaa
^a{2,}$ 包含多于两个a的字符串
^a{2,} 如:aardvark和aaab,但apple不行
a{2,} 如:baad和aaa,但Nantucket不行
\t{2} 两个制表符
.{2} 所有的两个字符
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 9.19--9.23 第7章 正则表达式 正则表达式是一个拆分字符串并查询相关信息的过程。 推荐练习网站: js ...
    如201608阅读 1,073评论 0 4
  • 原文参考自: https://www.jianshu.com/p/681d3e07fb0f 一、原理概论 1、正则...
    Rui哥阅读 576评论 0 2
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,181评论 0 9
  • 正则表达式简介 Perl最重要的一大特色就是对正则表达式的强力支持,这些支持提供了强大且灵活的字符串处理能力。正则...
    樱雨楼阅读 1,029评论 0 1
  • 简介 正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文...
    我为峰2014阅读 523评论 0 2