天天看點

lex與yacc(一)正規表達式

有很多知識需要知道,這是其中之一,它的強大不需要解釋

規則

. 比對除換行符以外的任何單個字元

* 比對前面表達式的零個或多個拷貝

[]比對括号中的任意字元的字元類.第一個符号是("^"),表示比對除括号中的字元以外的任意字元.

^ 作為正規表達式的第一個字元比對行的開頭

$ 作為正規表達式的最後一字元比對行的結尾

{}訓示前面的模式被允許比對多少次

\ 用于轉義字元

+ 比對前面的正規表達式的一次或多次出現

? 比對前面的正規表達式的零次或一次出現

| 比對前面的正規表達式或随後的下面表達式

""引号中的每個字元解釋為字面意義

/ 隻有在後面跟有指定的正規表達式時才比對前面的正規表達式

{}将一系列的正規表達式組成一個新的正規表達式

示例

表達一個數字

[0-9]+|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?

表達一個以字母開頭的字元串

[A-Za-z][A-Za-z0-9]*

繼續閱讀