1

我需要标记一些字符串,这些字符串将根据= and !=. 在字符串具有运算符之前,我成功使用了正则表达式!=。在我的情况下,字符串被分成两部分,这是意料之中的,但!标记在左侧,即使它是给定运算符的一部分。因此,我认为 regex 不适合它,我想从中受益lex。由于我对 lex 没有足够的知识和经验,我不确定它是否适合我的工作。基本上,我试图用来自其他数据的实际值替换运算符的右侧。你们认为这对我的案子有帮助吗?

谢谢。

4

1 回答 1

1

你应该使用 lex 吗?这取决于你的语言有多复杂。这是一个非常强大的工具,值得了解(尤其是使用 yacc,或者在 Java 中你可以使用antlrjavacc)。

public String[] split(String regex)确实需要一个正则表达式,而不仅仅是一个字符串。您可以使用正则表达式“!?=”,这意味着零或一!后跟=。但是使用 split 的问题是它不会告诉你实际的分隔符是什么。

由于我们对您的应用程序的了解很少,我很想使用正则表达式。这里有很多关于 stackoverflow 的专家可以提供帮助。Java regex 教程是一个很好的起点。

(感谢 Falle1234 发现我的错误 - 现在已更正。)

于 2010-04-06T12:48:52.693 回答