2010-03-11 15 views
2

考慮這個正則表達式:^([0-9]+)(?: ([-\+/%\*]) ([0-9]+))+$正則表達式:是否可以引用捕獲的所有重複?

在英語中,它表示「一個數字,後跟一個或多個(一個操作和另一個數字)」。

匹配針對像5 + 4該正則表達式的受試者產生$ 1 = 5,$ 2 = +和$ 3 = 4

匹配針對這個問題:5 + 4 * 3,我得到$ 1 = 5,$ 2 = *和$ 3 = 3.

在後一種情況下,我可以捕獲和引用+和4嗎?

換句話說,當在正則表達式中使用量詞時,我可以參考除最終捕獲序列以外的序列嗎?

如果答案取決於n中的語言或平臺,我想我最感興趣的是:

  • C,與PCRE
  • 的Javascript
  • .NET,與System.Text.RegularExpressions

回答

1

在.NET中,你可以使用

myMatch.Groups[1].Captures 
+1

但是,如果你想解析數學表達式,就算在.NET中也不要使用正則表達式。那種方式就是瘋狂。 : - / – 2010-03-11 06:59:44

相關問題