hdu 6170 正規表示式

2022-08-19 20:12:13 字數 808 閱讀 1256

題意:給你乙個正規表示式(偽),唯一不同其中.*代表 不是 *個. 而是.先匹配再星

思路:場上dp過了(瞎分類討論不知道wa了多少次。。),試圖用正則來著但是不會寫。。。下來學習一下姿勢。。

首先regex這個c++11的庫函式就不多說了,知道怎麼構造正則和匹配就可以了。重要的還是正則姿勢。

實際上正解的就是把 .* 換成(.)\1*,

匹配num,其中num是乙個正整數。對所獲取的匹配的引用。例如,「(.)\1」匹配兩個連續的相同字元。

pps.跑的賊慢。。。大概做題是用不上了。。。

**:#includeusing namespace std;

#define x first

#define y second

#define pb push_back

#define mp make_pair

#define mem(x,y) memset(x,y,sizeof(x));

#define bug(x) cout<<"bug"string s1,s2;

int main(){

int t;

std::ios::sync_with_stdio(false);

cin>>t;

string abc;

abc="(.)\\1*";

while(t--){

cin>>s1>>s2;

string tmp;

int n=s2.size();

for(int i=0;i匹配num,其中num是乙個正整數。對所獲取的匹配的引用。例如,「(.)\1」匹配兩個連續的相同字元。

HDU 6170 正規表示式

字串模式匹配,匹配任何乙個字元,表示它的前乙個字元可以任意出現 0次或多次 給出字串和模式串,詢問是否匹配 和標準正規表示式不同的是 模式串在題意下不能匹配 abcde 這樣的字串 按題意 的意思是相同字元的0個或多個重複串 那麼我們把模式串中的 替換成 1 即可 隊友用其他的dp做法比較快,90m...

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

非負整數 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...