一、正则表达式的创建
JS正则的创建有两种方式: new RegExp() 和 直接字面量。
- 使用RegExp对象创建
var regObj = new RegExp("(^\s+)|(\s+$)","g");
- 使用直接字面量创建
var regStr = /(^\s+)|(\s+$)/g;
其中 g 表示全文匹配,与之相关的还有 i 和 m,i 表示匹配时忽略大小写,m 表示多行匹配,如果多个条件同时使用时,则写成:gmi
二、()、[]、{} 的区别
修饰符 | 描述 | 举例 |
---|---|---|
() | 作用是提取匹配的字符串。表达式中有几个()就会得到几个相应的匹配字符串。 | 比如 (\s+) 表示连续空格的字符串 |
[ ] | 定义匹配的字符范围。 | 比如 [a-zA-Z0-9] 表示字符文本要匹配英文字符和数字。 |
{} | 一般用来表示匹配的长度。 | 比如 \d{3} 表示匹配三个空格,\d[1,3]表示匹配1~3个空格。 |
三、^ 和 $
修饰符 | 描述 | 举例 |
---|---|---|
^ | 匹配一个字符串的开头 | 比如 (^a) 就是匹配以字母a开头的字符串 |
$ | 匹配一个字符串的结尾 | 比如 (b$) 就是匹配以字母b结尾的字符串 |
^ 还有另个一个作用就是取反,比如[^xyz] 表示匹配的字符串不包含xyz
需要注意的是:如果
^
出现在[]
中一般表示取反,而出现在其他地方则是匹配字符串的开头
四、\d \s \w .
修饰符 | 描述 |
---|---|
\d | 匹配一个非负整数, 等价于 [0-9] |
\s | 匹配一个空白字符 |
\w | 匹配一个英文字母或数字,等价于[0-9a-zA-Z] |
. | 匹配除换行符以外的任意字符,等价于[^\n] |
五、* + ?
修饰符 | 描述 | 举例 |
---|---|---|
* |
表示匹配前面元素0次或多次 | 比如 (\s*) 就是匹配0个或多个空格 |
+ |
表示匹配前面元素1次或多次 | 比如 (\d+) 就是匹配由至少1个整数组成的字符串 |
? |
表示匹配前面元素0次或1次 | 相当于{0,1} 比如(\w?) 就是匹配最多由1个字母或数字组成的字符串 |
六、test 、match
前面的大都是JS正则表达式的语法,而test则是用来检测字符串是否匹配某一个正则表达式,如果匹配就会返回true,反之则返回false
/\d+/.test("123") ; //true
/\d+/.test("abc") ; //false
match是获取正则匹配到的结果,以数组的形式返回
"186a619b28".match(/\d+/g); // ["186","619","28"]
七、支持正则表达式的 String 对象的方法
方法 | 描述 |
---|---|
search | 检索与正则表达式相匹配的值。 |
match | 找到一个或多个正则表达式的匹配。 |
replace | 替换与正则表达式匹配的子串。 |
split | 把字符串分割为字符串数组。 |
更多详细内容可查看 官方文档
以上就是关于正则表达式的常用语法了,觉得不错欢迎收藏哦~