正則表示式在 TOC 中的屬性是什麼?
正則表示式基本上是表示如何從正則語言的基本集合構建正則語言的一種簡寫方式。
這些符號與用於構建語言的符號相同,任何給定的表示式都與其密切相關的語言相關聯。
對於每個正則表示式 E,都有一個正則語言 L(E)。
正則表示式有一些一般的等式。
屬性
所有屬性都適用於任何正則表示式 R、E、F,並且可以使用語言和集合的屬性進行驗證。
加法 (+) 屬性
正則表示式的加法屬性如下:
R + E = E + R R + ∅ = ∅ + R = R R + R = R (R + E) + F = R + (E + F)
乘法 (·) 屬性
正則表示式的乘法屬性如下:
R∅ = ∅R = ∅ R∧ = ∧R = R (RE)F = R(EF)
分配屬性
正則表示式的分配屬性如下:
R(E + F) = RE + RF (R + E)F = RF + EF
封閉屬性
正則表示式的封閉屬性如下:
∅* = ∧ * = ∧ R* = R*R* = (R*)* = R + R* R* = ∧ + RR* = (∧ + R)R* RR* = R*R R(ER)* = (RE)*R (R + E)* = (R*E*)* = (R* + E*)* = R*(ER*)*
所有屬性都可以使用語言和集合的屬性進行驗證。
示例 1
證明
(∅ + a + b)* = a*(ba*)*
Using the properties above: (∅ + a + b)* = (a + b)* (+ property) = a*(ba*)* (closure property).
示例 2
證明
∧ + ab + abab(ab)* = (ab)*
Using the properties above: ∧ + ab + abab(ab)* = ∧ + ab(∧ + ab(ab)*) = ∧ + ab((ab)*) (using R* = ∧ + RR*) = ∧ + ab(ab)*= (ab)* (using R* = ∧ + RR* again)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP