2012-08-26 38 views
2

我一直想知道如何在Flex中將輸入錨(^)的開頭轉換爲FSA。我知道線路結束符($)與表達式r/\n匹配,其中r是匹配的表達式。輸入錨的開頭怎麼匹配?我看到的唯一解決方案是使用啓動條件。它如何在程序中實現?flex如何匹配線錨的開始?

回答

2

結束行標記$的是從\n不同之處在於它匹配EOF爲好,即使結束線標記\n\r\n不是在文件的末尾找到。

我沒有看flex的實現,但我會使用布爾標誌實現^$^標誌將被初始設置,然後在第一個字符在一行之後重置爲false,然後在下一個行尾標記之後重新設置爲true,依此類推。

+0

因此,您的實施方式與啓動條件類似嗎? –

+0

@AaditMShah我不確定你的意思是「開始條件」。我編輯瞭解決錯別字和缺少空格的答案。 – dasblinkenlight