10句话看懂 JavaScript 正则表达式

1 , 正则表达式会去查找字符串中符合某个模式的部分 , 在 JAVAScript 中 , 正则表达式的创建方法是放在一对"/"之间 , 或者用 newRegExp() , 随后再调用 match , test 或者 replace 方法 。
你可以事先定义正则表达式 , 也可以在调用方法时直接定义:
 

10句话看懂 JavaScript 正则表达式

文章插图
 
 
【10句话看懂 JavaScript 正则表达式】2 , 使用 match方法 , 一次匹配一个字符或者将多个字符放入方括号 []中以捕获任何匹配的字符 , 使用连字号 -来捕获特定范围的字符:
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
3 , 在正则表达式末尾添加可选的修饰符来定义表达式的匹配方式 , 在 JS 中 , 我们的修饰符有:
  • i:大小写不敏感(case insensitive)
  • m:多行匹配(multi line matching)
  • g:全局匹配(global match)

10句话看懂 JavaScript 正则表达式

文章插图
 
  •  
4 , 在开始出插入符号 ^表示匹配位置在字符串开头 , 在正则末尾插入符号 $表示匹配位置在字符串结尾 , 现在可以开始将多个匹配条件组合起来匹配更长的字符串:
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
5 , 使用通配符和特殊转义字符来匹配较长的字符串 。
.:除换行以外的任何字符
d:数字
D:非数字
s:空格
S:非空格
n:新行
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
6 , 仅匹配特定数量的字符 , 量词缩写:
?:相当于{0,1} , 表示有匹配的或者没有匹配的;
+:相当于{1, } , 表示至少匹配一次;
{3}:表示刚好出现了3次;
{2,4}:表示出现了2-4次;
*:相当于{0,} , 也就是出现包括0在内的任意次 。
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
7 , 使用圆括号 ()为字符串分组 , match 方法会返回被匹配的字符串以及符合匹配条件的部分 , 除非在正则表达式中加入修饰符 g 。在括号中使用 |符号来实现多选分支 , |相当于“或”:
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
8 , 需要匹配特殊字符时 , 使用反斜杠 转义 。JS 正则表达式中的特殊字符是 ^$ .*+?()[]{}| , 因此在需要匹配一个星号时 , 应该写作 *而不是 *:
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
9 , 需要匹配排除某个字符以外的字符时 , 在方括号中使用 ^字符进行排除字符组 ,  ^在这里相当于是求反 , 但记住在之前的第4点中 , 它还有“字符串开始”的意思 , 所以一定要正确书写 。
 
10句话看懂 JavaScript 正则表达式

文章插图
 
 
10 , 正则表达式可以被用于查找和匹配各种各样的内容 , 包括 url 和文件名 , 然而如果你在尝试将正则表达式用于更加复杂的内容 , 比如解析电子邮件(比你想象的更复杂)或者是解析 html(记住html并不是一门常规的语言 , 它并不能被正则表达式完全解析)时 , 请务必谨慎小心 。
正则表达式的水远比这篇文章深 , 比如我们并没有讲到贪婪匹配 , 惰性匹配 , 先行断言(lookahead)和捕获等内容 , 但上面所总结的内容是 web 开发者在日常工作中最常用的一些功能与写法 , 想要看看一些复杂的正则表达式实例就请期待我们下一次的推送吧!




    推荐阅读