正则表达式的字符们

 

(1)正则表达式中所有的字母字符和数字都是要按照直接量与自身匹配的,例如:我们很熟悉的换行符“\n”在匹配中就是直接量换行字符

正则表达式的直接量字符

 

然而,又很多标点符号具有特殊的含义,就像它们==>      ^  $  .  *  +  ?  =  !  :  |  \  /  ( )   [ ] { }    如果你在正则表达式中想要用到这些标点符号,就必须加前缀 \

example: 正则“/\\/”与包含反斜杠的字符串匹配

(2)将单独的直接量字符放进方括号内就可以组合成字符类(character class),例如:我想匹配拉丁字母集中任何字母数字字符,我可以使用  /[a-zA-Z0-9]/

字符类

 

(3)有时需要描述具有任意多位数的数字,或者描述字符串,需要用到重复字符,例如:匹配两个ASCII数字,可以用/\d\d/

重复字符

example:

  • /\d{2,4}/      匹配2~4个数字
  • /\w{3}\d?/       匹配3个ASCII单字符和一个可选的数字
  • /\s+java\s+/     匹配前后带有1个或以上个空格的java字符串
  • /[^"]*/         匹配0个或多个"

(4)正则表达式的选择、分组和引用运算符

正则表达式的选择、分组和引用运算符

(...)也被称为捕获型分组,(?:...)被称为非捕获型分组,名字已说明是否能够记忆和它匹配的字符。

example:

  • /([Jj]ava(?:[Ss]cript)?)\sis\s(fun\w*)/    其中\1引用了与([Jj]ava(?:[Ss]cript)?)匹配的文本,\2引用了与(fun\w*)匹配的文本,注意:在这里,用(?:..)括起来的分组不参与编码

(5)有时需要指定匹配的位置,需要用到正则表达式的锚字符

正则表达式的锚字符

(6)正则表达式的标志,用于说明高级模式匹配的规则

正则表达式的标志

example:

  • /\bjava\b/gi     在一个字符串中找到所有的单字“java”(或者“Java”,“JAVA”等)(不分大小写)

   

  以上便是我在《JavaScript权威指南》所做的总结,接下来该轮到用于模式匹配的方法~

 

转载于:https://www.cnblogs.com/DTBelieve/p/5372801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值