正则表达式,又称正则表达式、正则表达式、正则表达式、正则表达式(英文:Regular ExpREssion,在代码中常缩写为regex、regexp或re)
正则表达式,又称正则表达式、正则表达式、正则表达式、正则表达式(英文:Regular ExpREssion,在代码中常缩写为regex、regexp或re)。
正则表达式使用单个字符串来描述和匹配一系列符合特定语法规则的字符串。在许多文本编辑器中,正则表达式通常用于检索和替换符合特定模式的文本。
一、字符类
1.字符类:它可以匹配它包含的任何字符。
例如:/[ABC]/匹配字母“a”、“b”和“c”中的任何一个
2.负字符类:负字符类由“”字符定义,它匹配所有不包含在方括号中的字符。定义负字符类时,请使用符号作为左括号中的第一个字符。
例如:/[ABC]/匹配除“a”、“b”和“c”之外的所有字符。
3.s:它匹配空格字符、制表符和其他Unicode空白字符。除换行符和其他Unicode行终止符之外的任何字符。
二、重复:
1.{n,m}匹配前一项至少n次,但不超过m次;
2.{n,}匹配前一项n次或更多次;
3.{n}匹配前一项n次;
4、匹配上一项0次或1次;
5.*匹配前一项0次或更多次;
6.匹配前一项一次或多次。
PS:非贪婪重复——在要匹配的字符后面跟一个问号就可以了。 ?*?
三、选择、分组和引用
1.“|”拆分字符以进行选择。
例如:/ab | cd | ef/可以匹配字符串“AB”、字符串“CD”和字符串“EF”
2、 ():括号的作用:a .将个别项组合成子表达式;b .在完整图案中定义子图案;c .允许在同一个正则表达式后面引用前面的子表达式。
3、(?和)被分组,但匹配重组的字符不被记忆。
四、指定匹配位置:
1.匹配发生的合理位置,正则表达式的锚。
2.“”匹配字符串的开头。
3.匹配字符串“$”的结尾
4.任何正则表达式都可以用作定位点。如果符号(?在=和)之间加一个表达式,它就是一个先验断言。
5.否定提前断言(?和“)”
五、修饰符:
1.我不区分大小写。
2.全球匹配
3.在m行中执行匹配。
六、RegExp方法
------- String 方法 -------
1.search()返回与之匹配的第一个字符串的位置;
2.repalce()执行检索和替换操作。
如果在正则表达式中设置了修饰符g,所有匹配源字符串中模式的字符串将被替换为第二个参数指定的字符串;如果没有修饰符g,只替换第一个匹配的子串。
3.match()返回匹配结果的数组。
------- RegExp方法 -------
4、执行()
5、测试()
======================= 一些常用的正则表达式 ========================
1.删除第一行和最后一行中的空白字符(包括空格字符、制表符和其他Unicode空白字符)。
var模式=/(^s*)|(s*$)/g;
abc定义。replace(模式, );//执行结果为: abc def
2.强密码:密码为8-12位,包括大写字母、小写字母、数字和特殊字符。
var h3RegExp=/^(?=.{8,12})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*W)。* $/g;
3.弱密码:密码为7-12位数字,包含大写字母、小写字母和数字中的任意两个,不包含特殊字符。
var mediumRegExp=/^(?=.{7,12})(((?=.*[A-Z])(?=.*[a-z])|((?=.*[A-Z])(?=.*[1-9]))|((?=.*[a-z])(?=.*[1-9]))).* $/g;