我需要標記一些字符串,根據像= and !=
這樣的運算符將被拆分。我成功地使用了正則表達式,直到字符串有!=
運算符。在我的情況下,字符串被分成兩部分,這是預期的,但!
馬克在左側,即使它是給定算子的一部分。因此,我相信正則表達式不適合它,我想從lex
中受益。由於我對lex沒有足夠的知識和經驗,我不確定它是否適合我的工作。基本上,我試圖用其他數據的實際值替換操作符的右側。你們認爲這對我的案子有幫助嗎?用flex區分字符串
謝謝。
我需要標記一些字符串,根據像= and !=
這樣的運算符將被拆分。我成功地使用了正則表達式,直到字符串有!=
運算符。在我的情況下,字符串被分成兩部分,這是預期的,但!
馬克在左側,即使它是給定算子的一部分。因此,我相信正則表達式不適合它,我想從lex
中受益。由於我對lex沒有足夠的知識和經驗,我不確定它是否適合我的工作。基本上,我試圖用其他數據的實際值替換操作符的右側。你們認爲這對我的案子有幫助嗎?用flex區分字符串
謝謝。
你應該使用lex嗎?這取決於你的語言有多複雜。這是一個非常強大的工具,值得理解(特別是使用yacc,或者使用Java,你可以使用antlr或javacc)。
public String[] split(String regex)
確實需要一個正則表達式,而不僅僅是一個字符串。你可以使用正則表達式「!?=」,這意味着零或一個!
,然後是=
。但使用split的問題是它不會告訴你實際的分隔符是什麼。
由於我們有關於你的應用程序的信息很少,所以我很想用正則表達式。這裏有很多專家在stackoverflow上提供幫助。 Java regex tutorial是一個很好的開始。
(感謝Falle1234拾取我的錯誤 - 現在修正) 「!=」
正則表達式應該是代替 「+ =!」。 ?是「零或一個」 - 指示符而不是+,表示一個或多個。 – Falle1234 2010-05-16 22:21:35