2010-09-13 111 views
1

我想寫一個正則表達式來匹配滿足以下條件的任何字符串。使用正則表達式匹配Paiousheses

字符串開始和結束匹配對括號「(」「)」

可以有任何數量的在其內的括號。

例如我正則表達式shud匹配:

(P(X)+ Q(X))(P(X)* Q(X))。)

但不匹配

p(x)+ q(x) P(X)* Q(x)的

我怎樣寫這樣的正則表達式

+0

你想說所有的內部括號必須匹配嗎?如果是這樣的話,我相信你需要使用Push-Down-Automata而不是正則表達式來解決這個問題,因爲有限狀態自動機(定義正則表達式的空間)不允許這種類型的支票。 – aperkins 2010-09-13 16:11:20

+0

澄清我的評論 - 如果你正在尋找一個正則表達式來解決[n] b [n],你有一個相同數量的 – aperkins 2010-09-13 16:11:52

+0

dangit - 愚蠢的回車鍵 - 繼續:a和b的數量相等,那麼你將無法用正則表達式來解決這個一般情況。根據你所描述的內容,看起來這就是你正在尋找的東西(當然是在一個變體中),這需要一臺PDA。 – aperkins 2010-09-13 16:12:49

回答