常用
- 把你的猫放在键盘上
- 让它走一圈
- 一段完美的正则就写好了
- 正数:
/^[0-9]+(\.[0-9]+)?$/ - 邮箱
// 较为严格
/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/
// 宽松
/^.+@.+\..+$/
JS 中
String.match()和 **RegExp.exec()**还返回两个属性,index: 匹配的第一个字符位置;input: 被检索的字符串原文
-
String.search(): 接受一个字符串或者正则,返回匹配到的第一个字符的位置 -
String.match(): 接受一个字符串或者正则,返回数组,或者Null -
String.replace(): 第一个参数接受一个字符串或正则,第二个接受一个字符串,返回替换好的字符串(将第一个参数匹配到的全部替换成第二个字符) -
String.split(): 第一个参数接受一个字符串或正则,第二个接受一个数字(限制返回的数组长度),返回分割好的数组 -
RegExp.test(): 接受一个字符串,返回Boolean值 -
RegExp.exec(): 接受一个字符串,返回数组,或者Null
元字符
以下符号需要匹配时用
\转义使用
^ $ \ . * + ? () [] {} |
常用写法
-
[A-z]: 中括号[]表示匹配A-z任意单个字符 -
修饰符
i: 忽略大小写m: 多行匹配g: 全局匹配(可以匹配多次)
-
字符匹配
\w: 字母数字下划线.: 除了换行符外的任意字符\d: 任意数字\D: 任意非数字\s: 任意空白字符\S: 任意非空白字符\n: 匹配换行符
-
量词
*: 匹配 0 次或多次+: 匹配 1 次或多次?: 匹配 0 次或 1 次{n}: 匹配 n 次{n,m} : 匹配 n-m 次{n,}: 匹配 n 次或多次
-
分组
把括号内的项作为一个独立的单元来处理(使用*, +, ?, | , etc)
-
^:用于中括号[],代表匹配非此字符

本文介绍了一种轻松掌握正则表达式的独特方法,通过让猫在键盘上行走,来生成复杂的正则表达式。此外,文中还详细列举了各种正则表达式的常见用法,包括数字、邮箱地址的匹配,以及JS中字符串操作的相关函数,如match(), search(), replace(), split()等。同时,文章深入讲解了元字符、修饰符和量词的概念,以及如何使用分组进行更高级的匹配。
3644

被折叠的 条评论
为什么被折叠?



