JS正则表达式基本用法有哪些?
正则表达式(Regular Expression)是一种用于处理字符串的强大工具,它可以用来检查一个字符串是否包含某种模式、替换字符串中的某些部分等,在JavaScript中,正则表达式主要通过RegExp对象和String对象的replace()方法、match()方法、search()方法等实现,本文将介绍JS正则表达式的基本用法,包括字符类、量词、分组、边界匹配等。
字符类是指用方括号[]
包围的一串字符,表示这些字符都可以作为正则表达式的匹配内容,常用的字符类有:
1、[abc]
:表示a、b或c中的任意一个字符。
2、[^abc]
:表示除了a、b和c之外的任意一个字符。
3、[a-z]
:表示小写字母a到z中的任意一个字符。
4、[A-Z]
:表示大写字母A到Z中的任意一个字符。
5、[0-9]
:表示数字0到9中的任意一个字符。
6、d
:表示数字0到9中的任意一个字符,等同于[0-9]
。
7、D
:表示非数字字符。
8、s
:表示空白字符,如空格、制表符、换行符等。
9、S
:表示非空白字符。
10、w
:表示单词字符,等同于[a-zA-Z0-9_]
。
11、W
:表示非单词字符。
12、b
:表示单词边界,即单词开始的位置。
13、B
:表示非单词边界。
14、d{n}
:表示连续n个数字字符。
15、D{n}
:表示连续n个非数字字符。
16、w{n}
:表示连续n个单词字符。
17、W{n}
:表示连续n个非单词字符。
18、s{n}
:表示连续n个空白字符。
19、S{n}
:表示连续n个非空白字符。
20、p{L}
:表示所有的字母字符,等同于[a-zA-Z]
。
21、P{L}
:表示所有的非字母字符,等同于[^a-zA-Z]
。
22、p{N}
:表示所有的数字字符,等同于[0-9]
。
23、P{N}
:表示所有的非数字字符,等同于[^0-9]
。
24、p{M}
:表示所有的字母数字字符,等同于[a-zA-Z0-9]
。
25、P{M}
:表示所有的非字母数字字符,等同于[^a-zA-Z0-9]
。
26、p{P}
:表示所有的标点符号字符,等同于所有Unicode标点符号类别的字符。
27、P{P}
:表示所有的非标点符号字符,等同于所有非Unicode标点符号类别的字符。
28、p{S}
:表示所有的符号字符,等同于所有Unicode符号类别的字符。
29、P{S}
:表示所有的非符号字符,等同于所有非Unicode符号类别的字符。
30、p{C}
:表示所有的控制字符,但在实际应用中较少使用。
31、P{C}
:表示所有的非控制字符。
32、p{Ll}
:表示所有的小写字母,相当于正则表达式[a-z]
。
33、p{Lu}
:表示所有的大写字母,相当于正则表达式[A-Z]
。
34、p{Nd}
:表示所有的数字,相当于正则表达式[d]
。
35、p{Lt}
:表示所有的小写字母且在字母表中位于其他小写字母之前,相当于正则表达式[a-y]
,其中y为字母表中的最后一个小写字母。
36、p{Ll}p{Lu}*+
:表示至少有一个大写字母和小写字母的字符串,相当于正则表达式(?=([a-z]{1}[A-Z]+))
,其中第一个括号用于分组匹配,第二个括号用于判断是否有至少一个大写字母和一个小写字母的组合出现。
37、(?!pattern)
:表示不匹配pattern的字符串,相当于负向先行断言。
38、(?=pattern)
:表示匹配pattern的字符串,相当于正向先行断言。
39、(?<=w)pattern
:表示匹配pattern的字符串,且pattern前面必须是一个单词字符,相当于后行断言。
40、(?:表示匹配pattern的字符串,且pattern前面不能是一个单词字符,相当于前行断言。
41、(?<=W)pattern$|pattern(?=W)
:表示匹配以非单词字符结尾的pattern或者以单词字符开头的pattern的字符串,相当于零宽度正向后行断言和零宽度正向先行断言结合使用。
42、(?:表示匹配以单词字符结尾的pattern或者以非单词字符开头的pattern的字符串,相当于零宽度负向后行断言和零宽度负向先行断言结合使用。
43、+(?=pattern)/gimsuXJkDOPQVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_@%&~!|{}[]():;<>?"'*+$,/\^-=[]
.
本文标题:js正则表达式基本用法有哪些
网址分享:http://www.csdahua.cn/qtweb/news25/335525.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网