2010-04-05 83 views
1

我需要標記一些字符串,根據像= and !=這樣的運算符將被拆分。我成功地使用了正則表達式,直到字符串有!=運算符。在我的情況下,字符串被分成兩部分,這是預期的,但!馬克在左側,即使它是給定算子的一部分。因此,我相信正則表達式不適合它,我想從lex中受益。由於我對lex沒有足夠的知識和經驗,我不確定它是否適合我的工作。基本上,我試圖用其他數據的實際值替換操作符的右側。你們認爲這對我的案子有幫助嗎?用flex區分字符串

謝謝。

回答

1

你應該使用lex嗎?這取決於你的語言有多複雜。這是一個非常強大的工具,值得理解(特別是使用yacc,或者使用Java,你可以使用antlrjavacc)。

public String[] split(String regex)確實需要一個正則表達式,而不僅僅是一個字符串。你可以使用正則表達式「!?=」,這意味着零或一個!,然後是=。但使用split的問題是它不會告訴你實際的分隔符是什麼。

由於我們有關於你的應用程序的信息很少,所以我很想用正則表達式。這裏有很多專家在stackoverflow上提供幫助。 Java regex tutorial是一個很好的開始。

(感謝Falle1234拾取我的錯誤 - 現在修正) 「!=」

+1

正則表達式應該是代替 「+ =!」。 ?是「零或一個」 - 指示符而不是+,表示一個或多個。 – Falle1234 2010-05-16 22:21:35