文章目录
正则表达式
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式
在 JavaScript 中,正则表达式也是对象
一、正则表达式的创建
- 通过构造函数创建
var regexp = new RegExp(/123/)
- 利用字面量创建 正则表达式
var rg = /123/
二、测试正则表达式
.test()
正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false
var rg = /123/; var rg = /abc/;
rg.test(123); rg.test('abc')
三、元字符(特殊字符)
1. 边界符
正则表达式中用来提示字符所处的位置
^
表示匹配行首的文本(以谁开始)$
表示匹配行尾的文本(以谁结束)/^123$/
精确匹配,只能是123 的字符串才会匹配
/123/
这种是里面含有123的就匹配
2. 字符类
2.1 []
方括号
表示有一系列字符可供选择,只要匹配其中一个就可以了
/[abc]/
只要包含a
orb
orc
其中一个就匹配/^[abc]$/
只能有a
orb
orc
其中一个才匹配[-]
方括号内部表示范围/^[a-zA-Z0-9_-]$/
/^[^a-z]$/
中括号中的^
是取反
2.2 量词符
量词用于修饰前一个单位出现的次数
*
出现0次或更多次/^a*$/
+
出现1次或更多次/^a+$/
?
出现0次或1次时返回 true/^a?$/
{n}
出现 n 次/^a{3}$/
{n,}
出现 n 次或更多/^a{3,}$/
{n, m}
出现 n 到 m 次
/^a{3,8}$/
/^[a-z]{3,8}$/
注意 :量词中 {} 内不能有空格
2.3 括号总结
-
中括号
[]
一个中括号匹配一个字符,内部的元素多选一(或的关系) -
小括号
()
提升优先级
/^abc{3}$/
'abccc'
才为 true
/^(abc){3}$/
'abcabcabc'
才为 true -
大括号
{}
量词
3. 预定义类
预定义类指的是某些常见模式的简写方式
\d
相当于[0-9]
\D
相当于[^0-9]
\w
相当于[a-zA-Z0-9_]
任意字母数字下划线\W
相当于[^a-zA-Z0-9_]
\s
相当于[ \n\r\v\t]
空白字符(空格/换行/制表符/等空白字符)\S
相当于[^ \n\r\v\t]
.
除了换行以外的所有字符|
或者符号
4. 修饰符
g
全局匹配/123/g
i
忽略大小写
5. 正则替换replace
replace()
方法可以实现替换字符串操作,用来替换的参数可以是一个字符串或是一个正则表达式
字符串方法
replace()
替换
.replace(/尼玛|草/g, '**')
match()
匹配后提取,返回数组(保存了匹配的数据)split()
切割,支持传入正则(可以传多个分隔符)
标签:字符,123,abc,匹配,正则表达式,rg 来源: https://blog.csdn.net/qq_53283188/article/details/116503112
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。