专注于分享Java后端相关技术、老司机实战干货,不限于JVM、ƈ发、设计模式、性能优化、分布式&微服务、云原生、大数据相关主题?/span>
希望x的你停下脚步Q定有所收获?/span>
以前的个人博客内容不好迁U,所以我打算Ҏ(gu)自己的多q经验,不断整理输出有h(hun)值的内容?br />目前公众号内Ҏ(gu)关于SpringCloudQ微服务框架Q、SkywalkingQAPM监控调用链)、JVMQGC分析、内存泄漏分析)、ƈ发编E?/span>相关原创实战文章已出炉?br />
最q刚开始已l有不少伙伴关注了Q期待能有幸搜烦到本博客的同学,可以扫码x一下,不胜感激?br />大家有Q何技术、职场、面试上的问题都可以与我交流?br />
方式一Q?/strong>扫码以下公众号二l码Q?/strong>
方式二:在微信上直接搜烦Q?nbsp;javatech_cbo
感谢各位伙伴的支持Q后l会在该公众号上输出大量的有价值的实战q货 Q期待与你一同进步与成长?br />
在学习javascript中正则是l常使用?在正则中的特D符?需要{义等,下面Ҏ(gu)则中的{义和Ҏ(gu)字符q行介绍
首先是元字符,意思是,在用这些字W时,必须使用转义字符,负责会出?
元字W有:()[]{}\^$|?*
M时候用在正则表辑ּ中用C上字W必进行{?
举例:假如匚w?q个字符
var re = /\?/;
或?br />
var re = new RegExp("\\?");
正则中的Ҏ(gu)W号Q?nbsp;
注意到第二个正则,当用到\的时?多用了\来进行{义\ 最后达C个\\,叫做双重转义
其次 Ҏ(gu)W号
在则会功能则中可以用ASCII代码也可以用Unicode代码.
当用字符用十六进制表C时,在字W签名必d上\x
当用八进制时,在府前必须加上 \
当用Unicode~码表示是必d?\
q有其它一些特D符?br />
字符 说明
\t 制表W?br />
\n 换行W?br />
\r 回RW?br />
\a 换页W?br />
\e alert字符
\cX escape字符
\b 与X相对应的字符
\v 回退字符
\0 I字W?br />
如果用RegExp构造函数来使用它们,则必M用双重{?
以上是正则中的Ҏ(gu)W号
先说一下字W类的意?字符cL用于试的字W组?字符cL攑ֈ中括号[]中的,可以有效的告诉正则去匚w.在字W类又分Z个简单的c?分别说一?br />
1.单类
单类是你想要匹配的字母l?br />
举例说明
var _class = /[abc]de/gi;
上面的一个字W类是一个简单的c?可以匚wade,bde,cde.三种,后面的g和i分别是全局和不区分大小?
再简单类中还可以使用unicode~码
var _class = /[a\u0062c]de/gi;
q个跟上面的一?可以匚wade,bde,cde.三种,后面的g和i分别是全局和不区分大小?
2.负向c?br />
负向cd是你要排除的字母,用上号(^)表示负向c?br />
举例//www.forasp.cn 转蝲h?br />
var _class = /[^abc]de/gi;
用了负向c^排除了a,b,c三个开头的字符??ade,bde,cde都不匚w
3.范围c?br />
范围cd指定从一个字W到另一个字W的范围,用中?-)表示.
举例
var _class = /[a-c]de/gi;//q就是表CZa到c,?abc都匹?br />
上面的就匚w了ade,bde,cde.三种.也可以加上负向类表示不匹?br />
var _class = /[^a-c]de/gi;//q就是表CZa到c,?abc都不匚w
4.l合c?br />
l合cL有几U其它类的组合而合成的字符c?
举例
var _class = /[1-9a-c]/gi;
上面的表辑ּ是1-9或者a-c均能匚w,列D1,2,3,4,5,6,7,8,9,a,b,c
在此 要注意的是字W内部类之间不能有空?q有不能有交?
5.预定义类//www.forasp.cn 转蝲h?br />
预定义类是复杂的l合c预定义成特定的代码.
列D了javascrip中的预定义类
代码 {同?nbsp; 匚w
. [^\n\r] Z换行和回车以外的M字符
\d [0-9] 数字
\D [^0-9] 非数?br />
\s [ \t\n\xB\f\r] I白字符
\S [^ \t\n\xB\f\r] 非空白字W?br />
\w [a-zA-Z_0-9] 单词字符,包括字母下划U和数字
\W [^a-zA-Z_0-9] 非单词字W?/font>
以上是常用的正则表辑ּ的字W类,常用谨记
====================正则表达式中的量?规定了特定的字符串出现的ơ数.当指定某个模式应当出现的出售?可以指定性数?
可以说分Zc量?br />
1.单量?如下标识
代码 描述
? 出现零次或者一?br />
* 出现Lơ数
+ 臛_出现一?br />
{n} 一定出现n?br />
{n,m} 臛_出现nơ最多出现m?br />
{n,} 臛_出现n?br />
举例说明以上的标?gi是全局部分大小?下面׃说gi?
var foraspcn = /[ab]?c/gi;//匚w c,ac,bc
var foraspcn = /[ab]*c/gi;//匚w c,aac,bbc...
var foraspcn = /[ab]+c/gi;//匚w ac,bc,aac,bbc..
var foraspcn = /[ab]{1}c/gi;//匚w ac,bc
var foraspcn = /[ab]{1,2}c/gi;//匚w ac,bc,aac,bbc
var foraspcn = /[ab]{1,}c/gi;//匚w ac,bc,aac,bbc...
看看看懂没有,有的时候有的是相等的比?br />
?q于{0,1}
*{于{0,}
+{于{1,}
2.贪婪?惰性的,支配性的量词
首先解释一下三U量?
贪婪量词是先看整个字符串师傅匹?如果没有,则去掉字W串最后一个字W?再次匚w.一直到发现最后一个匹配或者字W串不剩下Q何字W?目前的量词都是贪婪的.
惰性量词是首先看第一个字W是否匹?如果单独q一个字W不?则读入下一?与组成两个字W去匚w,如果没有发现再次d下一个字W?直到发现匚w或者整个字W串都没有匹?惰性和贪婪正好相反.
支配量词擦好难过时匹配整个字W串,如果不匹配则不再试.支配量词是整体匚w一?$hidden$
贪婪?惰性的,支配性的量词 表如?br />
贪婪?惰性的 支配?描述
? ?? ?+ 零次或者一ơ出?br />
* *? *+ 零次或者多ơ出?br />
+ +? ++ 臛_一ơ出?br />
{n} {n}? {n}+ 正好nơ出?br />
{n,m} {n,m}? {n,m}+臛_nơ出?臛_mơ出?br />
{n,} {n,}? {n,}+ 臛_nơ出?/font>
以上是正则中量词的相关内容