js快速入门,正则篇

147 阅读1分钟

「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战

JS-正则表达式

对字符串进行匹配运算的内置对象

(1)表达式:对字符串进行逻辑匹配运算

(2)内置对象:js语言提供好的内置对象,存储一些对字符串进行匹配运算的方法

1.正则表达式的作用:

对字符串进行逻辑匹配运算(格式校验)

2.使用流程:

1.声明正则对象:let reg = New ReExp(/正则表达式/)

2.调用对象test()方法

reg.test(‘要校验的字符串’)

true:符合规则

false:不符合

3.语法由两部分组成

1.原义文本字符:字符串本身的含义

2.元字符:改变了字符串 本身的意义

[] {} () . \ + ? * ^ $ |

  1. [ ]:字符类:将某种特征的字符归为一类

    /[abc]/ :检查字符串有没有a或b或c任意一个字符

  2. [^] :反向类,将不是某种特征的字符归为一类

    /[abc]/ :检查字符串有没有除a或b或c的字符

  3. 范围类:代表字符类的范围

    /[0-9]/:检测有没有数字字符

    /[a-z]/:检测有没有小写字母

    /[A-Z]/:检测有没有大写字母

范围类注意点:

  1. 可以连写

    /[a-zA-Z0-9]/:检测字符串有没有字母和数字

  2. 范围类是一个闭区间

    /[5,8]/:检测有没有5-8之间的数字,包含5和8

  3. 范围类:右边一定大于左边

    /[8-5]/:直接报错

    /[8-90-5]/:可以

4.预定义类:

\d

\s

\S

\w

\W

  1. 边界

    1. 开头边界:以xxxx开头

      /^abc/:以a开头+bc(a的后面一定要是bc)

    2. 结尾边界:以xxxx结尾

      /abc$/:ab+c(c结尾位置,前面是ab)

    3. 正则严格匹配

      同时添加开头边界和结尾边界

      /^[0-9]$/检测(开头)数字(结尾),只有0,1,2,3,4,5,6,7,8,9符合

  2. 分组

    1.分组:把多个字符归为一组,用于量词

    1.1 /love{3}/:含义 匹配lov+e(3次)

    默认情况下量词只能对一个 字符生效

    1.2/(love){3}/:含义 匹配 l +o|i ve

    ()和|一起可以提升|的优先级

    3.反向引用:

    正则表达式在匹配的时候,会自动把()内部匹配到的数据提取到RegExp的变量中(变量中(1-$9)

    此时可以在替换字符串的时候,通过调整$的顺序对字符串进行反向引用(调整字符串格式顺序)