三分钟学会简单的正则表达式

Posted 图灵教育

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三分钟学会简单的正则表达式相关的知识,希望对你有一定的参考价值。

正则表达式是一种对文本字符串进行验证和格式化的极其强大的方式。通过使用正则表达式,可以用一两行javascript代码完成原本需要几十行代码的复杂任务。正则表达式常常被认为是编程中最棘手的部分之一。不过,简单的正则表达式没那么难哦,看看下面这行代码:


var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;



  • 首先,re仅仅是一个变量。我们将它命名为re,这样在以后使用它时就容易想起它是一个正则表达式。这行代码将re的值设置为等号右边的正则表达式。


  • 正则表达式总是以斜杠(/)开头和结尾(当然,仍然有一个分号,表示JavaScript代码行结束,但分号不是正则表达式的一部分)。斜杠之间的所有内容都是正则表达式的组成部分。





  • 左圆括号(表示一个组。这意味着后面将要引用圆括号中的所有内容,所以现在将它们放在一个组中。


  • 方括号[]用来表示可以出现在其中的任意一个字符。在这个示例中,方括号内包含字符\.-。我们希望允许用户输入点号或连字符,但是点号对于正则表达式有特殊意义,所以需要在它前面加


  • 上反斜杠\,这表示我们指的实际上是点号本身,而不是它的特殊意义。在特殊字符前面使用反斜杠称为“对字符转义”。因为有方括号,输入的字符串在这个位置可以有一个点号或一个连字符,但是两者不能同时存在。注意,连字符不代表任何特殊字符,所以不用加反斜杠。



  • ?后面,再次使用\w+,这表示点号或连字符后面必须有其他一些字符。


  • 右圆括号)表示这个组结束了。在此之后是一个星号,表示前面的条目(在这个示例中,指圆括号中的所有内容)可以不出现或者出现多次。所以如果dori是有效的电子邮件前缀,testing-testing-1-2-3也是。




  • 然后,在一对圆括号中建立另一个组:\.\w{2,3},表示我们希望找到一个点号,后面跟着一些字符。在这个示例中,花括号中的数字表示前面的条目(本例中是\w,表示字母、数字或下划线)可以出现2次或3次。在这个组的右圆括号后面是一个+,也表示前面的条目(这个组)必须出现一次或多次。这会匹配.com或.edu之类的,也与ox.ac.uk匹配。



怎么样,挺简单吧?如果想更详细地学习,推荐一本书《学习正则表达式》:



戳左下角【阅读原文】跳转到图灵社区试读。

以上是关于三分钟学会简单的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

55分钟学会正则表达式

55分钟学会正则表达式

20分钟学会正则表达式

学会Linux正则表达式,我只用了3分钟

5分钟包你学会正则表达式

5分钟包你学会正则表达式