前言:在前端页面使用中,遇到日期格式的验证,开始使用了一款表单控件验证,但是不兼容!!而且使用起来还受到很大约束,所以就决定自己写原生js。为了完成日期格式的验证,第一步,当然是学会使用正则表达式。以前都是直接复制使用,这次理解原理,自己原生写。
首先,总结了正则表达式的定义。
正则表达式
正式定义:一个正则表达式可以是
□空字符串ε;
□单个字符;
□包含在括号中的另一个正则表达式;
□两个或多个连接起来的正则表达式;
□由或运算符分隔的两个或多个正则表达式;
□由闭包运算符标记的一个正则表达式。
这段定义藐视了正则表达式的语法,说明了怎样才是一个合法的正则表达式。在接下来对给定正则表达式的非形式化的描述是它的语义。作为总结,我们要继续在形式定义中对他们进行总结。
定义(续):每个正则表达式表示的是一个字符串的集合,他们的定义如下所述
□空正则表达式表示的字符串的集合为空,含有0个元素。
□一个字符表示表示的字符串的集合含有一个元素,即该字符本身。
□一个由括号和包含在其中的正则表达式组成的正则表达式表示的字符串的集合与括号内的正则表达式相同。
□由两个正则表达式连接起来的正则表达式的字符串的集合为这两个正则表达式分别表示的字符串集合的叉乘。(按照正则表达式中指定的顺序,由一个字符串集合中的元素和另一个字符串集合的元素相连接所能够组合而成的所有字符串。)
□由或运算符连接的两个正则表达式所表示的字符串的集合为两个正则表达式所分别表示的字符串集合的并集。
□由一个正则表达式的闭包所表示的字符串的集合由ε(空字符串)或将被修饰的正则表达式所表示的字符串集合重复任意次所得到的所有字符串所组成。
如有好的建议,可留言或发至笔者邮箱:fzb_xxzy@163.com