JavaScript——正则表达式RegExp(Regular Expression)
正则表达式用于定义一些字符串规则 ,计算机可以根据正则表达式,来检查一个字符串是否符合规则,符合规则则返回True,否则将返回false,其次可以通过正则表达式将字符串中符合规则的内容提取出来,从而进行更好的验证。
首先,在JavaScript中使用正则表达式需要新建一个RegExp对象。就像这样,我们可以用一种对象的方式创建出一个新的正则表达式对象。
在RegExp对象中的第一个参数是“正则表达式的规则和内容”,第二个参数是正则表达式的匹配模式,在这里有1.忽略大小写模式,2.全局匹配模式
当然很多时候为了方便开发,我们会使用JavaScript字面量的方式使用正则表达式,就像这样。
虽然这种方式比较简答,但是这种方式缺乏了灵活性,这个我们后面会继续说,现在不着急/
一、正则表达式基本语法:
1. 创建一个正则表达式,检查一个字符串中是否含有ab
运行结果:
2. 创建一个正则表达式,检查一个字符串中是否含有a或b
运行结果:
3. 创建一个正则表达式中检查一个字符串中是否有字母
首先这个问题,如果我们用之前的方案来解决的话,我们可能需要把26个英文字母全部写入正则表达式的规则中,就像/a|b|c|d|e|f|g|h|i|g|k|l|m|n|.../
但是换句话说,正则表达式的本意就是通过计算机的自动匹配来减少无用的人工操作,所以我们需要引入新的符号,区间"[]"符号。
借助"[ ]"这个符号,我们可以将26个字符a-zA-Z进行依次检查。下面我们就可以完成这个检测喽~
4. 检查一个字符串中是否有abc / adc / aec
通常这种方式我们不常用,因为这三个字符中有一种规律,abc adc aec三个字符串中都有相同的首字母a和末尾字母c,三个字符串中只有中间的字符不一样,分别是b,d,e三个字符,同样我们可以用[]中括号来将可能会变化的字符加入此操作符中, 就像这样——>
运行结果和到上面那个一样:
5. 除此以外,正则表达式也可以像JavaScript中的数组方法resever反转一样,如果我们想查询字符串中不含有数字的字符串,我们可以使用^尖括号操作符进行分辨
例如就像这样:查询除了ab剩余的字符
运行结果:
除此以外,数字也可以这样来操作
本次笔记全部代码: