字串——正規表示式匹配
請實現一個函式用來匹配包括”.”和”*”的正規表示式。
模式中的字元”.”表示任意一個字元,而”*”表示它前面的字元可以出現任意次(包含0次)。
在本題中,匹配是指字串的所有字元匹配整個模式。
例如,字串”aaa”與模式”a.a”和”ab*b*ac*a”匹配,但是與”aa.a”和”ab*a”均不匹配
當模式中的下一個字元不是”*”時:
如果字串當前字元和模式中的當前字元相匹配,那麼字串指標和模式指標都後移一個字元,然後匹配剩餘的。
如果字串當前字元和模式中當前字元不匹配,直接返回false。
當模式中的下一個是”*”時:
如果字串當前字元跟模式當前字元不匹配,則模式指標後移2個字元,繼續匹配。
如果字串當前字元跟模式當前字元匹配,可以有3種匹配方式:
1、模式指標後移2字元,相當於x*被忽略;
2、字串指標後移1字元,模式指標後移2字元;
3、字串指標後移1字元,模式不變,即繼續匹配字元下一位,因為*可以匹配多位;
相關文章
- 演算法之字串——正規表示式匹配演算法字串
- 正規表示式匹配
- 匹配不包含字母的字串的正規表示式字串
- Python正規表示式匹配字串中的數字Python字串
- 正規表示式匹配原理
- python 正規表示式匹配Python
- 正規表示式 多行匹配
- 匹配字母正規表示式
- leetcode - 正規表示式匹配LeetCode
- 匹配正整數正規表示式
- 正規表示式支配匹配模式模式
- JavaScript匹配中文正規表示式JavaScript
- 匹配護照正規表示式
- 匹配小數正規表示式
- 匹配負數正規表示式
- 匹配整數正規表示式
- 匹配自然數正規表示式
- 匹配航班號正規表示式
- 正規表示式匹配漢字
- 10. 正規表示式匹配
- 正規表示式的多行匹配
- 正規表示式匹配問題
- 正規表示式同時匹配中英文及常用正規表示式
- 轉|正規表示式之匹配中文
- 匹配浮點數正規表示式
- 匹配二級域名正規表示式
- 匹配車牌號正規表示式
- 匹配純數字正規表示式
- 匹配html標籤正規表示式HTML
- 匹配400電話正規表示式
- 匹配 XML 檔案正規表示式XML
- 匹配 HTML 標籤正規表示式HTML
- 匹配空白字元正規表示式字元
- Leetcode 10. 正規表示式匹配LeetCode
- 匹配空行正規表示式程式碼
- JZ-052-正規表示式匹配
- 匹配n位正整數正規表示式
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串