Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用flex区分字符串_Java_Regex_Lex_Jflex - Fatal编程技术网

Java 用flex区分字符串

Java 用flex区分字符串,java,regex,lex,jflex,Java,Regex,Lex,Jflex,我需要标记一些字符串,这些字符串将根据操作符拆分,如=和=。我成功地使用了正则表达式,直到字符串=操作员。在我的例子中,字符串被分为两部分,这是预期的,但是标记位于左侧,即使它是给定运算符的一部分。因此,我认为regex不适合它,我想从lex中获益。由于我对lex没有足够的知识和经验,我不确定它是否适合我的工作。基本上,我试图用其他数据的实际值替换运算符的右侧。你们认为这对我的案子有帮助吗 谢谢。你应该用莱克斯吗?这取决于你的语言有多复杂。这是一个非常强大的工具,值得理解(尤其是使用yacc,或

我需要标记一些字符串,这些字符串将根据操作符拆分,如
=和=。我成功地使用了正则表达式,直到字符串
=操作员。在我的例子中,字符串被分为两部分,这是预期的,但是
标记位于左侧,即使它是给定运算符的一部分。因此,我认为regex不适合它,我想从
lex
中获益。由于我对lex没有足够的知识和经验,我不确定它是否适合我的工作。基本上,我试图用其他数据的实际值替换运算符的右侧。你们认为这对我的案子有帮助吗


谢谢。

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

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

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


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

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

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

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

(感谢Falle1234帮我纠正了错误,现在已经更正了。)

正则表达式应该是“!?=”而不是“!+=”?是“零或一”指示符,而不是+,表示一个或多个。正则表达式应该是“!?=”而不是“!+=”?是“零或一”指示器,而不是+,表示一个或多个。