在看JS之前没有怎么接触过正则表达式,只是知道有这么个东西,而在软考学习的时候,在编译原理这块有一个正规式,当时只知道这两个东西不是一个概念,具体哪里不同不太清楚,现在正好学到这里了,在此对比总结一下。
一、正规式
一种表示正规集的工具,正规式是描述程序语言单词的表达式。
正规集包含三种运算符:".","|","*"
(1)"."表示连接,可省略。
(2)"|"表示或。
(3)"*"表示0个或多个。
二、正则表达式
正则表达式(regular expression),它是用来描述字符模式的对象。ECMAScript的RegExp类表示正则表达式。
注:突然发现RegExp类就是正则表达式两个英文单词的缩写。下面这张图是看视频时做的一个简单总结。
正则表达式就是为了匹配,对客户端输入的数据进行验证,同时节约服务器的资源。它就是先创建一个模式,然后对客户端输入的数据和此模式进行匹配,如果符合则成功,如何不符合则失败。视频中讲的大多是各种各样的匹配模式。
三、对比
(1)相同点
都是一种模式,用来匹配验证的一种规则。
(2)不同点
正规式:多和有限自动机相互转换,来判断是否和相应的输入输出对应。
正则表达式:多用于输入的验证,在客户端输入的时候就去验证输入的东西是否符合要求,大大减少了后台的判断。
四、总结
对于正规式和正则表达式的理论了解现在就到这个程度了,接下来要对正则表达式进行一个简单例子的实现。