JavaScript学习笔记-Regular Expression
It has been 1485 days since the last update, the content of the article may be outdated.
JS 正则
\d
可以匹配一个数字\w
可以匹配一个字母或数字\s
可以匹配一个空格.
可以匹配任意字符*
表示任意个字符(包括 0 个)+
表示至少一个字符?
表示 0 个或 1 个字符{n}
表示 n 个字符{n,m}
表示 n-m 个字符[]
表示范围[0-9a-zA-Z\_]
可以匹配一个数字、字母或者下划线[0-9a-zA-Z\_]+
可以匹配至少由一个数字、字母或者下划线组成的字符串,比如’a100’,’0_Z’,’js2015’等等;[a-zA-Z\_\$][0-9a-zA-Z\_\$]*
可以匹配由字母或下划线、$开头,后接任意个由一个数字、字母或者下划线、$组成的字符串,也就是JavaScript允许的变量名;[a-zA-Z\_\$][0-9a-zA-Z\_\$]{0, 19}
更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。
A|B
可以匹配A或B,所以(J|j)ava(S|s)cript
可以匹配’JavaScript’、’Javascript’、’javaScript’或者’javascript’
RegExp
JavaScript有两种方式创建一个正则表达式:
- 直接通过
/正则表达式/
写出来 - 通过
new RegExp('正则表达式')
创建一个RegExp
对象。
javascript
var re1 = /ABC\-001/; |
RegExp对象的test()方法用于测试给定的字符串是否符合条件。
javascript
var re = /^\d{3}\-\d{3,8}$/; |
切分字符串
javascript
'a b c'.split(' '); // ['a', 'b', '', '', 'c'] 不彻底 |
分组
用()表示的就是要提取的分组(Group)。比如:
javascript
var re = /^(\d{3})-(\d{3,8})$/; |
javascript
var re = /^[0-9a-zA-Z\.]+@[0-9a-zA-Z]+\.[0-9a-zA-Z]+$/; //验证Email地址的正则表达式 'bill.gates@microsoft.com' |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment