什么是正则表达式

正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JS中,正则表达式也 是对象。
作用:
1.用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字 母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。
2.常用于过滤掉页面内容中的一 些敏感词(替换)
3.从字符串中获取我们想要的特定部分(提取)等 。

正则表达式在js中的使用

一, 创建正则表达式

  1. 通过调用 RegExp 对象的构造函数创建
    var 变量名 = new RegExp(/表达式/);
 var regexp = new RegExp(/123/);
  1. 通过字面量创建
    var 变量名 = /表达式/;
var rg = /123/;

二,测试正则表达式
test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 或 false.
变量名.test();

console.log(rg.test(123));

三,正则表达式的组成
1.边界符

// 正则表达式里面不需要加引号 不管是数字型还是字符串型
var rg = /abc/; // /abc/ 只要包含有abc这个字符串返回的都是true
var reg = /^abc/;  //以abc开头的字符串返回的都是true
var reg1 = /^abc$/; // 精确匹配 要求必须是 abc字符串才符合规范

2.字符类
[] 表示有一系列字符可供选择,只要匹配其中一个就可以了。

var rg = /[abc]/;// 只要包含有a 或者 包含有b 或者包含有c 都返回为true   例如:andy,baby
 var rg1 = /^[abc]$/;// 三选一 只有是a 或者是 b  或者是c 这三个字母才返回 true  例如:a,b,c 
 var reg = /^[a-z]$/;// 26个英文字母任何一个字母返回 true  - 表示的是a 到z 的范围
 var reg1 = /^[a-zA-Z0-9_-]$/; // 26个英文字母(大写和小写都可以)任何一个字母返回 true 
 var reg2 = /^[^a-zA-Z0-9-_]$/; // 如果中括号里面有^ 表示取反的意思

3.量词符
量词符: 用来设定某个模式出现的次数

var reg = /^[a-zA-Z0-9_-]{6,16}$/;

简单理解: 就是让下面的a这个字符重复多少次

 * 相当于 >= 0 可以出现0次或者很多次     var reg = /^a*$/;
 + 相当于 >= 1 可以出现1次或者很多次     var reg = /^a+$/;
 ?  相当于 1 || 0                      var reg = /^a?$/;
 {3 } 就是重复3var reg = /^a{3}$/;
 {3, }  大于等于3                      var reg = /^a{3,}$/;
 {3,16}  大于等于3 并且 小于等于6       var reg = /^a{3,6}$/;   

4.括号总结

  1. 大括号 量词符. 里面表示重复次数
  2. 中括号 字符集合。匹配方括号中的任意字符.
  3. 小括号 表示优先级

5.预定义类

\d 表示匹配0-9之间的任一数字 相当于[0-9]
\D 表示匹配所有除了0-9之外的字符 相当于[^0-9]
\w 表示匹配任意字母,数字,下划线 相当于[a-zA-Z0-9_]
\W 表示除了字母,数字,下划线以外的字符 相当于[^a-zA-Z0-9_]
\s 表示匹配空格(包括换行符,空格符) 相当于[\t\r\n\v\f]
\S 表示匹配非空格的字符  相当于[^\t\r\n\v\f]

6.在线测试网址:
https://c.runoob.com/
打开后找到正则表达式在线测试,可以在里面进行测试你写的正则表达式是否正确,也可以往下拉查看常用正则表达式

正则表达式中的替换

  1. replace 替换敏感词汇
var str = 'andy和red';
//替换可以用''或者//
var newstr = str.replace('andy', '**');
var newstr = str.replace(/andy/, '**');

2./表达式/[switch]
switch有三种值:
g:全局匹配
i:忽略大小写
gi:全局匹配 + 忽略大小写

str.replace(/andy/g, '**');
                                    正则表达式又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),正则表达式通常被用来检索、替换那些符合某个模式(或规则)的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(sed和grep)普及开来的。
                                    正则表达式通常被用来检索、替换符合某个模式的文本,主流的开发语言对它都有支持。最近写正则表达式时对其由来起了兴趣,在Wikipedia和百度百科分别检索了一下,搬运过来留作收藏记录。Wikipedia的介绍更专业一些,阅读较为费力。百度百科的介绍读起来更像讲故事,通俗易懂一些。
以下摘录自Wikipedia
详见原文"History"板块,原文链接:https://en.wikipedia.o...
正则表达式(regular expression)是一个描述字符规则的对象。可以用来检查一个字符串是否含有某个子字符串,将匹配的子字符串做替换或者从某个字符串中取出符合某个条件的子串等。
为什么要用正则:
前端往往有大量的表单数据校验工作,采用正则表达式会使得数据校验的工作量大大减轻。常用效果:邮箱、手机号、身份证号等。
:创建方式
第一种方式:
var reg = new RegExp(“study”,“ig”);   // 第二个参数为修饰符
i:表示忽略大小写ignore
1. 基本匹配
正则表达式只是我们用于在文本中检索字符串的模式。例如正则表达式 cat,表示:字母 c 后面跟着一个字母 a,再后面跟着一个字母 t。
"cat" => The cat sa
                                    什么是正则表达式?1. 什么是正则表达式?2. 基本匹配3. 元字符
1. 什么是正则表达式正则表达式是⼀组由字⺟和符号组成的特殊⽂本,它可以⽤来从⽂本中找出满⾜你想要的格式的句⼦。
⼀个正则表达式是⼀种从左到右匹配主体字符串的模式。
“Regular expression”这个词⽐较拗⼝,我们常使⽤缩写的术语“regex”或“regexp”。
正则表达式可以从⼀个基础字符串中根据⼀定的匹配模式替换⽂本中的字符串、验证表单、提取字符串等等。
想象你正在写⼀个应⽤,然后你想设定⼀个⽤户命名的规则,让⽤户名
                                    正则表达式是利用单个字符来描述、匹配一系列符合某个句法规则字符串的技术。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在编程项目中,正则也常被用于文本字符串的查找、替换、切分和提取。
几乎所有的编程语言都支持正则表达式,但不同的编程语言对正则的规则和定义有所差别,本文对于正则的讨论是基于python语言的
一、五类元字符
元字符就是指那些在正则表达式中具有特殊意义的专用字符,元字符是构成正则表达式的基本元件。正则就是由一系列的元字符组成的,比如d可以表示0-9之间的任意..
1、什么是正则表达式
正则表达式,常用来检索或替换满足一定规则的字符,常称为regular expression,简写为re或regex。正则表达式在处理字符串时功能非常强大和灵活。
简单的说,正则表达式就是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】...
                                    3、REGEXP_LIKE                                                     regexp_like()函数用于比较给定的字符串,如果字符串相同则返回 1,否则返回 0。4、REGEXP_SUBSTR                                               用于从给定的字符串中返回子字符串,有就返回子字符串,没有返回null。,regexp_like,regexp_instr,regexp_substr四个函数,
                                    什么是正则表达式?
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的语法,正则表达式对于一个程序员来讲是至关重要的一个知识点,所以学好正则是每一个程序员必须具备的。正则表达式不能独立使用,它只是一种用来定义字符串的规则模式,必须在相应的正则表达式函数中应用,才能实现对字符串的匹配、查找、替换及分割等操作。1、正则表达式中包括的元素(1)...
                                    “?:”非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用。
单独的“?”:匹配前面的子表达式零次或一次。
当“?”紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少地匹配所搜索的字符串,而默认的贪婪模式则尽可能多地匹配所搜索的字符串。
正则表达式是对字符串(包括普通字符...