1. {a, b, c}上的串S中,任何兩個b都不相連,用正則表達(dá)式表示為
(a|c|ba|bc)*(b|空)
2. Pascal注釋的表示
{(~})*}
{ } 中間為任意非}的符號,注意表達(dá)的嚴(yán)謹(jǐn)
3. C注釋的表示就困難很多
例如要表示ba ...(沒有ab)... ab這樣的字符串,不能簡單的寫成
ba(~(ab))*ab
因?yàn)閪非運(yùn)算符通常只適用于單字符,否則容易產(chǎn)生混淆。
b*(a*~(a|b)b*)*a*
像這樣的定義很難讀,而且難以證明其正確性,因此在真正的掃描程序中通常用特殊方法解決。