正则表达式

正则表达式用于匹配字符串,通常用来判断用户输入数据是否合法。

正则基础:

  • \d匹配一个数字:
    `66\d`能成功匹配`666`,但无法匹配`66A`,A是字母
    `\d\d\d`可以成功匹配`666`

  • \w匹配一个字母或数字:
    `\w\w\w`可以匹配`aaa`

  • \s匹配一个空格,包括Tab等空白符

  • .可以匹配任意字符:
    `aa.`可以匹配`aaa``aa1``aa!`等等

  • 匹配变长的字符时,使用*表示任意个字符(包括0个),+表示至少一个字符,?表示0个或者1个字符,{n}表示n个字符,用{n, m}表示n-m个字符

例子:\d{3}\s+\d{3,8}
分析:
1.\d{3}表示匹配3个数字,
2.\s表示匹配一个空格,+表示至少一个,所以就是至少一个空格
3.\d{3-8}表示3-8个数字
如果要将\s换成-呢?由于-是特殊字符,所以需要\转义,将正则表达式改为\d{3}\-\d{3,8}即可

更为复杂的正则:

当需要使用更精准、复杂的正则的时候,就要用到[],它表示范围,比如:
[0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线
[0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如`a100``0_Z``js666`等等
[a-zA-Z\_\$][0-9a-zA-Z\_\$]*匹配一个由字母或下划线、$开头,后接任意个由数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名
[a-zA-Z\_\$][0-9a-zA-Z\_\$]{0-19}限制了变量长度是1-20,(因为[]的范围作用,前面已有一个字符所以范围是0+119+1

  • A|B匹配A或者B
    具体用法:
    (J|j)ava(S|s)cript可匹配`JavaScript``Javascript``javaScript`或者`javascript`

  • ^表示行的开头,如:^\d表示必须以数字开头

  • $表示行的结束,如:\d$表示必须以数字结束(注意$是在后面)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容