題目:
給定乙個字串s,判斷其是否為合法的正規表示式
乙個正規表示式定義:(此正規表示式非正規)
輸入樣例:
010101101*
(11|0*)*
)*111
輸出樣例:
yesyes
no題解:
用乙個棧來儲存出現的(和|,遇到)判斷此時是否合法,檢查棧的)符號。遇到|或(,將當前字串的起始位置設定為這個位置,用乙個bool標記當前串是否為合法。(解釋不清楚,看**,,,)
**:
#include
#include
const
int maxn=
10000010
;char str[maxn]
;int top;
char op[maxn]
;int
main()
else
if(str[i]
==')')}
else
if(str[i]
=='*'
)else
if(str[i]
=='|'
)else
}while
(top)}if
(success)
printf
("yes\n");
else
printf
("no\n");
}return0;
}
另一做法:na2
ona_2o
na2o部落格
正規表示式應用
d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...
正規表示式(應用)
在此頁面寫正規表示式,可以提供參考,和進行校驗 應用於前端 匹配任意長度的大小寫字母與數字 a za z0 9 匹配任意長度且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字與漢字 a za z0...
正規表示式 應用
生成正規表示式 https http ftp rtsp mms s 分析 如果沒有在 裡面的時候,代表以什麼開頭 如果在 裡面的時候,代表除了 之外 https http ftp rtsp mms 代表乙個分組 進行分組的時候,findall方法只返回分組裡面的內容 print re.findall...