JS中正则表达式常用语法总结

一、正则表达式的创建

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 把字符串分割为字符串数组。

更多详细内容可查看 官方文档

以上就是关于正则表达式的常用语法了,觉得不错欢迎收藏哦~

猜你喜欢

转载自blog.csdn.net/qq_38970408/article/details/127769994