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