2012-06-05 49 views
-1

我正在構建一個計算器,它可以在電子表格中對單元格進行操作,並且需要一部分正則表達式。需要電子表格計算器的正則表達式

我需要分析出如下:

  • 數字:整數。
  • 單元格名稱:被命名爲'alpha字符'+'數字'即ie。 A1,B2 ...
  • 操作:+, - ,*,/

一個例子是這樣的:

23 A4 * 2 B5/ 

在這裏,我想這些小組是:23,A4 ,*,2,B5,/

它不應該很難,但操作會讓我失望。

想要一個正則表達式而不僅僅是分割空間的原因是驗證。我正在尋找一些非常具體的東西,所以我認爲正則表達式是最好的東西。

+2

你爲什麼認爲這裏使用正則表達式? – Bergi

+2

由於這些操作會創建[非常規語言](http://en.wikipedia.org/wiki/Chomsky_hierarchy),因此操作會導致您無法使用常規語言進行分析。 – Cameron

+0

你聽說過Antlr嗎?這是一個偉大的項目。我認爲它會幫助你。 –

回答

0

從一些研究,上述評論,它看起來像可能是一個正則表達式不是做我想做的事的最佳方式。

我將不得不嘗試分割,然後遍歷所有分割組來驗證。

0

在這裏,我想這些小組是:23,A4,*,2,B5,/

String[] groups = "23 A4 * 2 B5/".split(" "); 
+0

'23A4 * 2B5 /',:) –

+0

@infgeoax怎麼樣?你的意見似乎是'不是問題'。問你自己的問題,如果你想追求解析替代字符串。 –

+1

只是說輸入可能不完整(空格分隔),但也有效。 –