jS-正则表达式(六)

• 介绍

什么是正则表达式

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象

使用场景:

1.例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)

  • 比如用户名: /^a-z0-9_-{3,16}$/

2.过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等

总结:

1.正则表达式是什么?

  • 是用于匹配字符串中字符组合的模式

2.正则表达式有什么作用?

  • 表单验证(匹配)
  • 过滤敏感词(替换)
  • 字符串中提取我们想要的部分(提取)

• 语法

1. 定义正则表达式语法/表达式/:

2.判断是否有符合规则的字符串test():

**test()**方法 用来查看正则表达式与指定的字符串是否匹配

  • 如果正则表达式与指定的字符串匹配 ,返回true,否则false

3.检索exec()(查找)符合规则的字符串:

exec() 方法 在一个指定字符串中执行一个搜索匹配

  • 如果匹配成功,exec() 方法返回一个数组,否则返回null

总结:

正则表达式使用分为几步?

  • 定义正则表达式
  • 检测查找是否匹配

正则表达式检测查找 test方法和exec方法有什么区别?

  • test方法 用于判断是否有符合规则的字符串,返回的是布尔值 找到返回true,否则false
  • exec方法用于检索(查找)符合规则的字符串,找到返回数组,否则为 null

• 元字符(重点)

普通字符:

大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。 也就是说普通字符只能够匹配字符串中与它们相同的字符。

元字符(特殊字符):

是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。

  • 比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm.....
  • 但是换成元字符写法: a-z

参考文档:

MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

正则测试工具: http://tool.oschina.net/regex

边界符

量词 (表示重复次数)

注意: 逗号左右两侧千万不要出现空格

字符类 (比如 \d 表示 0~9)

(2) . 匹配除换行符之外的任何单个字符

注意:

这里需要注意的是,在\[\]里面的字符类,那个放斜杠可以省略,如果不在中括号里面。则需要加上去

• 修饰符(ig)

  • 修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等
  • 语法:
  • i 是单词 ignore 的缩写,正则匹配时字母不区分大小写
  • g 是单词 global 的缩写,匹配所有满足正则表达式的结果

最后,Js中的正则表达式的元字符和修饰符和其他语言(Java)中的正则表达式用法都是一样的

相关推荐
Patrick在香港1 天前
Python正则表达式实战:解析和验证香港身份证、车牌、电话格式
开发语言·python·正则表达式
吴声子夜歌3 天前
正则指引——Ruby
开发语言·正则表达式·ruby
吴声子夜歌3 天前
正则指引——Golang
开发语言·golang·正则表达式
吴声子夜歌4 天前
正则指引——PHP
开发语言·正则表达式·php
吴声子夜歌6 天前
正则指引——断言
正则表达式
吴声子夜歌6 天前
正则指引——匹配原理
java·正则表达式
吴声子夜歌7 天前
正则表达式——环视
开发语言·正则表达式
吴声子夜歌8 天前
正则表达式——边界
正则表达式
营养充电站8 天前
C++23 新特性在 CLion 中的实战体验
macos·docker·jupyter·正则表达式