正则表达式的基础和语法

正则表达式

一个正则表达式是由普通字符(如a-z)以及特殊字符(称为元字符)组成的模式字符串。该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模版,将某个字符模式与搜索的字符串进行匹配。

表示方式/正则表达式/

1.字符类:(一个字符类每次只能匹配一个满足要求的字符)


[....] 匹配方括号中字符序列的任意一个字符,其中可以使用连字符“-”匹配指定范围内的任意字符      

 /[012]/可以与0A1B2C中的字符0或1或2匹配                 /[0-5]/可以与a302gsfd91sa4sd中的0至5之间任意数字字符匹配



[^....] 匹配方括号中字符序列未包含的 /[^012]/可以与0A1B2C中的除字符0或1或2之外的任意字符匹配
任意字符,其中可以使用连字符 /[a-z]/可以与a302gsfd91sa4sd中不在小写字母a-z之间的任意字符匹配
"-"匹配不再指定范围内的任意
字符


. 匹配除了换行和回车之外的任意
字符,相当于[^\r\n]


\d 匹配任意一个数字字符,相当于 \/d\可以匹配wy3k中的3
[0-9]\/d/d\可以匹配wy34k中的34


\D 匹配任意非数字字符,相当于          \/D\可以匹配wy3k中的w或y或k
[^0-9]


\s 匹配任意空白字符,如空格,制    /\s\d/可以匹配my age is 20中的 2,注意2前面的空格
表符,换行符等,相当于
[\t\n\x0b\f\r]


\S 匹配任意非空白符,相当于            /\S/可以匹配a b中的a或b
[^\t\n\x0b\f\r]


\w 匹配任意英文字母,数字字符以    /\w/可以匹配shjhjhjdd323d_df%#中的字母,数字,下划线
及下划线,相当于[a-zA-Z0-9_]


2.量词:


? 匹配前一项0次或1次                      /JS?/可以匹配JScripter中的JS或JavaScript中的J


+ 匹配前一项的一次或多次,单至     /JS?/可以匹配JS,也可以匹配JSSSS,也就是J后面一定要有一个及以上的S
少出现一次


* 匹配前一项0次或多次,也就是             /bo*/可以匹配b,bo,boo,booo
任意次


{n} 匹配前一项恰好n次,其中n为非       /o{2}/可以匹配book中的oo,也可以匹配booook中任意两个连续的o
负整数


{n,} 匹配前一次至少n次                      /0{2}/不匹配bok中的o,因为至少要匹配两个连续的o。所以可以匹配book和booook中的所有o


{n,m} 匹配前一项至少n次,但不能超               /o{2,5}/可以匹配book中的两个o,也可以匹配boooook中的5个连续的o
过m次,其中n,m为非负整数,
且n<=m
注意:在使用{n,m}时,数字与逗号之间不能有空格符


3.指定匹配位置


^ 匹配字符串的行开头。^必须                /^g/匹配good中的g,但不匹配bag中的g
出现在指定字符串的最前面才
起作用


$ 匹配字符串的行结尾。$必须                /g$/匹配bag中的g,但不匹配good中的g
出现在指定字符串的最后面才
起作用


\b 匹配单词的边界                       /e\b/匹配"I love seek"中love的e,不匹配seek中的e


\B 匹配单词的非边界 /                     e\b/匹配"I love seek"中seek的e,不匹配love 中的e


4.选择匹配符
正则表达式的选择匹配福只有一个"|",使用"|"可以匹配指定的多个选项中的任意一项。例如/World|Dream/可以匹配"One World One Dream"中的World或Dream


5.分组
分组就是利用小括号将多个单独的字符或字符类组合成子表达式,以便可以像处理一个大力的单元那样,以便于用"|","*","+"或者"?"等来处理他们。比如/J(ava)?Script/可以匹配JavaScript,也可以匹配JScript
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值