携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,点击查看活动详情
JavaScript正则表达式
定义
正则表达式是由一个字符序列形成的搜索模式.
当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容.
正则表达式可以是一个简单的字符,或一个更复杂的模式.
正则表达式可用于所有文本搜索和文本替换的操作.
语法
/正则表达式主体/修饰符(可选)
创建
- 表达式
- 单个字符与数字
- . 匹配除换行符之外的任意字符
- [a-z0-9] 匹配方括号中的任意字符
- [^a-z0-9] 匹配不在方括号中的任意字符
- \d 匹配数字
- \D 匹配非数字
- \w 匹配字母
- \W 匹配非字母
- 空白字符
- \O 匹配null字符
- \b 匹配空格字符
- \f 匹配换页符
- \n 匹配换行符
- \r 匹配回车符
- \s 匹配空白字符、空格、制表符或换行符
- \S 匹配非空白字符
- \t 匹配制表符
- 定位符
- ^ 行首匹配
- $ 行尾匹配
- \A 只匹配字符串的开始处
- \b 匹配单词边界,词在[]内无效
- \B 匹配非单词边界
- \G 匹配当前搜索的开始位置
- \Z 匹配字符串结束处或行尾
- \z 只匹配字符串结束处
- 限定符
- x? 匹配0个或1个x
- x* 匹配0个或任意多个x
- x+ 匹配至少1个x
- x{m,n} 匹配最少m个,最多n个x
- 分组
- (?:x) 匹配x但不记录匹配结果
- x(?=y) 当x后接y时匹配x
- x(?!y) 当x后不是y时匹配x
- 引用
- \1...\9 返回九个在模式匹配期间找到的、最近保存的部分
- $1...$9 返回九个在模式匹配期间找到的、最近保存的部分
- 或模式
- x|y|z 匹配x或y或z
- 单个字符与数字
- 模式修饰符
- g : 全局模式,应用于所有字符串
- i : 区分大小写模式
- m : 多行匹配模式
属性
- 实例属性
- global : 检测是否设置g标记
- ignoreCase : 检测是否设置i标记
- multiline : 检测是否设置了m标记
- source : 返回正则表达式的字符串表示
方法
- exec : 在字符串中执行匹配检索,返回结果数组
- test : 在字符串中测试模式匹配,返回true或者false
- match : 找到一个或多个正则表达式的匹配
- replace : 替换与正则表达式匹配的子串
- search : 检索与正则表达式相匹配的值
- split : 把字符串分割为字符串数组