引言:正規表示式有兩種基本要素——字元表示式和ε表示式,以及三種基本運算——並、連線和閉包
正規表示式並不能直接用來解析字串,所以引入有窮自動機這種適合轉化為電腦程式的模型其特點是從每乙個狀態只能發出一條具有某個符號的邊。也就是說不能出現同乙個符號出現在同一狀態發出的兩條邊上。
允許從乙個狀態發出多條具有相同符號的邊,甚至允許發出標有ε(表示空)符號的邊,也就是說,nfa可以不輸入任何字元就自動沿ε邊轉換到下乙個狀態。
聯絡:dfa與nfa之間可以等價轉換 >> 定理:如果語言l被乙個nfa所接受,那麼一定存在一些dfa也接受這一語言l。
區別:dfa更直觀,nfa更利於計算機實現
dfa只能進入一種狀態,nfa可以進入多種狀態
re --> nfa --> dfa
串聯(笛卡爾積):r = r1r2
併聯(或):r = r1 | r2
迴圈(閉包):r = (r1)*
構造過程:分解狀態 : 串聯 -> 迴圈 -> 併聯
子集構造法
單詞拼寫錯誤
非法字元**換表為空)
詞法分析與正規表示式 (一)
嚴格來說,詞法分析是語法分析的一部分。可是將詞法分析從語法分析中抽離出來,有如下好處。1.簡化語法分析器的設計。如果把空白字元和去除注釋這些功能都交給語法分析器來處理,那語法分析器的結構會變得非常簡單。2.提高編譯器效率。編譯器耗時最大的部分消耗在詞法分析階段。因為詞法分析涉及到檔案讀操作。而將詞法...
編譯原理 詞法分析02 正規表示式
r r 正規表示式,表示字串的格式。l r r所匹配的串的集合。symbol符號 l r 中的元素稱為符號。alphabet字母表 表示符號的字元的集合。用 sigma 表示。元字元metacharacter,元符號metasymbol 它們非字母表中的字元,是一些特殊意義的字元,比如,如果要匹配這...
正規表示式分析
1.請分析這下面這兩個輸出吧,最好乙個乙個斜槓地分析。system.out.println 8abc8 replaceall 8 8abc system.out.println 8abc8 replaceall 8 8abc 2.為什麼a和b可以有相同的輸出,c和d卻不可以呢?system.out....