我用Java写了一个词法分析器程序.我使用空格或分号分隔输入字符串,但我真正希望做的是将分号或逗号视为单独的标记,即使它前面没有空格.
现在我有
arr = (str).split("[; ]");
个
但是当我将输入字符串作为
return a = 25;
个
字符串的拆分方式如下:[return, a, =, 25]
它不识别;或者将其用作分隔符.我试着为它找一个正则表达式,但我找不到一个有效的.我正在努力避免使用StringTokenizer,但如果它是应该使用且无法避免的东西,请让我知道.我对正则表达式相当陌生,所以我不能弄清楚它.
我try 了正则表达式((?<=;)|(?=;))
,但它只与拆分;不考虑空格.