Regex--定義

來源:互聯網
上載者:User

標籤:Regex

前言:在前端頁面使用中,遇到日期格式的驗證,開始使用了一款表單控制項驗證,但是不相容!!而且使用起來還受到很大約束,所以就決定自己寫原生js。為了完成日期格式的驗證,第一步,當然是學會使用Regex。以前都是直接複製使用,這次理解原理,自己原生寫。


首先,總結了Regex的定義。


Regex

 

正式定義:一個Regex可以是

□ Null 字元串ε;

□ 單個字元;

□ 包含在括弧中的另一個Regex;

□ 兩個或多個串連起來的Regex;

□ 由或運算子分隔的兩個或多個Regex;

□ 由閉包運算子標記的一個Regex。

這段定義藐視了Regex的文法,說明了怎樣才是一個合法的Regex。在接下來對給定Regex的非形式化的描述是它的語義。作為總結,我們要繼續在形式定義中對他們進行總結。

定義(續):每個Regex表示的是一個字串的集合,他們的定義如下所述

□ 空Regex表示的字串的集合為空白,含有0個元素。

□ 一個字元表示表示的字串的集合含有一個元素,即該字元本身。

□ 一個由括弧和包含在其中的Regex組成的Regex表示的字串的集合與括弧內的Regex相同。

□ 由兩個Regex串連起來的Regex的字串的集合為這兩個Regex分別表示的字串集合的叉乘。(按照Regex中指定的順序,由一個字串集合中的元素和另一個字串集合的元素相串連所能夠組合而成的所有字串。)

□ 由或運算子串連的兩個Regex所表示的字串的集合為兩個Regex所分別表示的字串集合的並集。

□ 由一個Regex的閉包所表示的字串的集合由ε(Null 字元串)或將被修飾的Regex所表示的字串集合重複任意次所得到的所有字串所組成。

 


如有好的建議,可留言或發至筆者郵箱:[email protected]



Regex--定義

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.