我需要标记一些字符串,根据像= 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