我需要根据像= and !=
这样的运算符对某些字符串进行标记。我成功使用正则表达式,直到字符串有!=
运算符。在我的例子中,字符串被分成两部分,这是预期的,但!
标记在左侧,即使它是给定运算符的一部分。因此,我认为正则表达式不适合它,我想从lex
中受益。由于我对lex没有足够的知识和经验,我不确定它是否适合我的工作。基本上,我试图用其他数据的实际值替换运算符的右侧。你认为这对我的案子有帮助吗?
感谢。
答案 0 :(得分:1)
你应该使用lex吗?这取决于你的语言有多复杂。这是一个非常强大的工具,值得理解(尤其是使用yacc,或者使用Java,您可以使用antlr或javacc)。
public String[] split(String regex)
确实采用正则表达式,而不仅仅是字符串。您可以使用正则表达式“!?=”,这意味着零或一!
后跟=
。但使用split的问题在于它不会告诉你实际的分隔符是什么。
由于我们对您的应用程序的信息很少,我很想使用正则表达式。这里有很多专家在stackoverflow上提供帮助。一个很好的起点是Java regex tutorial。
(感谢Falle1234提起错误 - 现已更正。)