藍橋杯 正規表示式

2021-08-15 23:00:04 字數 659 閱讀 3820

參考

:當我們需要同時考慮「()」和「|」時,我們發現「()」括號的作用就是講上面的**限定了乙個範圍,所以我們只需要讓這段**從乙個「(」開始執行到乙個「)」為止。

那麼怎麼才能做到這種控制呢?

我們可以分析一下樣例的計算過程。

在遇到乙個括號時,我們會先終止當前的計算,進入到括號裡進行計算,當這一次計算結束後,我們返回這個結果繼續計算。

這是乙個和深搜回溯很相似的過程(還記得第四題嗎)。

所以我們用深搜的方式來完成計算。在遇到一對「()」時,我們就進入乙個新的函式,然後用這個函式的返回值繼續計算。

#include #include using namespace std;

string str;

int pos, len;

int dfs()

else if (str[pos] == ')')

else if (str[pos] == '|')

else

}res = max(num, res);

return res;

}int main()

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...