正则表达式

正则目的: 实现字符的查找或检测,做一些表单验证,看用户输入是否正确,进行匹配

正则是什么: 用于匹配字符串的一种模式


目录

一、正则表达式

1.1、什么是正则表达式

1.2、语法

1.3 元字符(特殊字符)

1.3.1、相关参考文档

1.3.2、边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

1.3.3、量词(重复次数)

1.3.4、字符类 ([a-z])

1.3.5、字符类中输入中文处理

1.3.6、字符类扩展

1.3.7、字符类的一些预定义

1.3.8、小总结

1.4、修饰符

总结


正则表达式_第1张图片



一、正则表达式

1.1、什么是正则表达式

>  表单验证: 用户表单只能输入英文字母,数字,下划线,昵称输入框中可以输入中文   (匹配)

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

>  过滤页面内容中的一些敏感词(替换

>  从字符串中获取我们想要的特定部分(提取


1.2、语法

正则表达式_第2张图片

举例: 

         比如查找下面文本是否包含字符串  ‘前端

正则表达式_第3张图片

 


1.3 元字符(特殊字符)

比如一般让用户只能输入26个英文字母,那我们编写估计就是从 abcdefg....开始

但是,换成元字符写法 : [a-z] 

正则表达式_第4张图片

1.3.1、相关参考文档

MDN查询: 正则MDN

正则测试工具:  正则在线测试工具

1.3.2、边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)

正则中的边界符,用来提示字符所处的位置,主要有两个字符

正则表达式_第5张图片

如果 $ ^ 这两个一起用 则是 精确匹配

正则表达式_第6张图片


    

1.3.3、量词(重复次数)

设定某个模式出现的次数

正则表达式_第7张图片

 注意:   逗号的左右两侧不要出现空格!

正则表达式_第8张图片

 以下为重点

    

1.3.4、字符类 ([a-z])

【】 匹配字符集合  -- 在括号里面的任意字符

  • 后面的字符只要包含abc中任意一个字符 都返回true
    

【】里面加上 - 连字符

  • 使用 - 连字符 表示一个范围
console.log(/^[a-z]$/.test('c'));   // 返回true  包含a-z中任意一个都行
    

【a-zA-Z0-9-_】 表示大小写英文字母 数字0-9 并且支持 输入 - (连字符)和 _ (下划线)

输入要求: > = 10000

量词{4,}只针对于 前面一个字符

正则表达式_第9张图片

        // 格式
        console.log(/^[1-9][0-9]{4,}$/.test('10000')); // t
        console.log(/^[1-9][0-9]{4,}$/.test('1000')); // f
        console.log(/^[1-9][0-9]{4,}$/.test('100000')); // t

用户表单验证

要求:

正则表达式_第10张图片


    
    
    

1.3.5、字符类中输入中文处理

需要用户只能输入中文

  • 语法:
let ra = /^[\u4e00-\u9fa5]{2,8}$/

昵称 :2-8位的中文名字 都返回true


1.3.6、字符类扩展

(1) 在【】里面加上 ^ 取反符号 表示 除 ...之外

/ ^[  ] / 这样是开头

正则表达式_第11张图片

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


1.3.7、字符类的一些预定义

指的是某些常见模式的简写方式

正则表达式_第12张图片

    


1.3.8、小总结

正则表达式_第13张图片


1.4、修饰符

约束正则表达式某些细节的行为,如是否区分大小写、是否支持多行匹配等

正则表达式_第14张图片

一般搭配 字符串替换使用  字符串.replace  (/正则/,'替换的文本')

案例:

        替换词语

正则表达式_第15张图片

这种方式只能替换第一个 ‘激情’

正则表达式_第16张图片

在后面加一个 g

正则表达式_第17张图片

正则表达式_第18张图片

补充

 

正则表达式_第19张图片


总结

正则掌握一点基本的语法,具体难得部分只需上网查找即可

你可能感兴趣的:(javascript,python,开发语言,javascript,前端,正则表达式)