我正在嘗試將代碼的源代碼劃分爲我想要的分隔符作爲\\s|+;,{}[]
進行標記。但我在某種程度上失敗了,有什麼建議?使用分隔符進行Tokenize
public void tokenize() {
StringTokenizer st = new StringTokenizer(this.sourceCode, "\\s+|[;{}\\[\\]]", true);
int counter = 0;
while (st.hasMoreElements()) {
String token= (String) st.nextElement();
tokenizedCode.put(counter, token.trim());
counter++;
}
}
編輯:注意:沒有分隔記號化更正一下,我期待
我想int a=10;
在int,a,=,10
Euhm你在哪裏失敗?什麼不行? – HamZa
如果分隔符不起作用,我強調了你的看法? –
對於您提供的新示例,您可以使用['\\ s + | [] [; {}] |(?==)|(?<==)'](http://regex101.com/r/bN0oT2)。注意源代碼的標記是一項艱鉅的任務,我的意思是如果我在'System.out.print(「這是一個等號=。沒什麼特別的)字符串中有';'或'='';' – HamZa