正则表达式的基本语法

1. 正则表达式

  • 最基本的使用场景:例如在一些注册账号的时候需要填邮箱、手机号的时候,正则表达式可以判断在填手机号的时候,是否是数字,邮箱规则是否正确。即表单判断。
  • 含义:是js有个对象,通过一些规则,对字符串进行匹配,看是否匹配上,可以拿到匹配结果。
    用2种方式创建正则表达式

2. 创建正则表达式(2种)

(1) 构造函数

var reg=new RegExp("abc","g")//必须为字符串,第二个参数为在匹配过程中需要遵循某些规则

(2).字面量

var reg=/abc/g;//如果是字面量,内容直接写在'//'里面,第二个参数紧接在后
               //在控制台显示/abc/g,这个不是字符串,是控制台对正则表达式一个人性化的展示

最后的g代表全局,还有几个修饰符

  • g:global,全文搜索,不添加的话搜索到第一个结果停止搜索
  • i:ingore case,忽略大小写,默认大小写敏感
  • m:multiple lines,多行搜索

3.元字符(在正则表达式代表特别的意义)

( [ { \ ^ $ | ) ? * + .
字符 含义
\ 转义符,如果\后不是特别的字母,\代表的转义的,可以转义元字符;例如'a*'.match(/a*/g);得到的是["a*"]
[ ] 在[ ]代表匹配这个范围内的的字符。例如[a-g],代表匹配这个范围内的一个字符
^ 以xxx为开头,例如/^hello/,必须以hello开头的
$ 以xxx的结尾
[^ ] 不匹配里面任何字符
. 除了/r/n所有的字符
\r 回车符
\n 换行符
\f 换页符
\v 垂直制表符
\0 空字符

量词

字符 含义
* 匹配前面字符0次或多次,等价于{0,}
匹配前面字符 0次或1次,等价于{0,1},如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。
+ 匹配前面字符1次或多次,等价于{1,}
{n} 匹配n次
{n,m} 出现n到m次
{n,} 至少出现n次

边界

字符 含义
^ 以xxx开头
$ 以xxx结尾
\b 单词边界
\B 非单词边界

预定义类

字符 等价类 含义
. [^/r/n] 除了回车符和换行符之外的所有字符
\d [0-9] 数字字符
\D [^0-9] 非数字字符
\s [\t\n\x0B\f\r] 空白符
\S [^\t\n\x0B\f\r] 非空白符
\w [a-zA-Z_0-9] 单词字符,字母、数字下划线
\W [^a-zA-Z_0-9] 非单词字符
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 急急慌慌地买了两份薯条带回家,害怕凉了后带回家她们会觉得不好吃。我换完衣服就冲到公交站!由于自己的无知以及急忙赶...
    娱乐至死至美阅读 1,531评论 12 3
  • 1。今年四十岁了,没想到却要离开父母独自一个人去生活。 他一边骑着电动车,一边心里这样念叨着。 如果要是20年前就...
    利君理疗阅读 2,688评论 0 1
  • 驴耕田回来,躺在栏里,疲惫不堪地喘着粗气,狗跑过来看它。 “唉,老朋友,我实在太累了。”驴诉着苦,“明儿个我真想歇...
    丫头317阅读 1,859评论 0 1
  • 看的第一部东野圭吾的书,春节时还是因为易烊千玺买这本书才对它有了兴趣。百年一遇的数学天才石神为了靖子背负一切并再...
    Sherry161阅读 1,351评论 0 1

友情链接更多精彩内容